Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

caio456456456

Membro
  • Total de Posts

    43
  • Registro em

  • Última visita

  • WCoins

    0

Posts postados por caio456456456

  1. Eu acho que deveria ser proibido falar Ebay Host pois é a pior empresa de host que já vi.Pois se voce pesquisa só no site já da para ver que é 100% fake pois fala que patrocina o Planet-RO mas meu primo é o dono e a empresa dele esta no site só não quero divulgar mas podem ver o site

    É necessário se cadastrar para acessar o conteúdo.
    e olha o site da ebay muita cara de pau.

     

    2 eles nem tem domínio propio como eles podem financiar um vps.

  2. VPS

     

     

    Olá queria saber um vps para rodar o transformice pirata com um a qualidade boa sem lag e no máximo 30 players.

     

    Achei um bom

     

    Burst RAM 384Mb

    RAM Garantida 128Mb

    Espaço em disco 30Gb

    Tráfego mensal 400GB

    Uplink 1Gbps

     

    Queria saber se fica bom esse vps para rodar o transformice,com máximo de 30 jogadores.

  3. # By Kyl3 (Edi472)

    # Transformice Private Server 0.55 Source

    # Copyright eSBody 2011

    # The copy-source is released

    #

    É necessário se cadastrar para acessar o conteúdo.

    # http://webcheats.com.br

    import random

    import socket, asyncore, asynchat

    import thread, threading

    import time

    import types

    import re

    import base64, binascii, hashlib

    import logging

     

    from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler

     

    logging.basicConfig(filename='Archives.html',level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

     

     

    VERBOSE = False

    VERSION = "0.55 "

     

    ADMIN_NAME = "Admin"

    ADMIN_NAMES = frozenset(['Admin', 'admin', 'Phoenix', 'Tigrounette', 'Melibellule', 'Jonathan', 'Modogeek', 'Mododivin', 'Modoplouf', 'Modotruc'])

    ADMIN_HASH = "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"

     

    LEVEL_LIST = range(0, 100+1) + range(901, 910+1)

    #0 to 100 are normal maps, 901 to 910 are replaced with nightmode maps.

    #901 1006

    #902 1007 (No Shaman)

    #903 1015

    #904 1027

    #905 1040

    #906 1062

    #907 1067

    #908 1087 (Shaman only on nightmode)

    #909 1088 (Shaman only on nightmode)

    #910 1092 (Shaman only on nightmode)

     

    class TransformiceServer(asyncore.dispatcher):

    def __init__(self, HOST='', PORT=1111):

     

    self.HOST = HOST

    self.PORT = PORT

     

    asyncore.dispatcher.__init__(self)

    self.create_socket(socket.AF_INET, socket.SOCK_STREAM)

     

    # try to re-use a server port if possible

    self.set_reuse_addr()

    self.bind((self.HOST, self.PORT))

    self.listen(5)

     

    logging.info("running")

     

    #self.clients = []

     

    self.rooms = {}

     

    def handle_accept(self):

    socket, addr = self.accept()

     

    TransformiceClientHandler(self, socket, addr)

     

    def authenticate(self, username, passwordHash):

    #authentication

    if username.strip().lower() in ADMIN_NAMES:

    if passwordHash != ADMIN_HASH:

    return -1 #Invalid

     

    return 10 #Admin

     

    return 1 #Normal Player

     

    def createAccount(self, username, passwordHash):

    pass

     

    def sendPrivMsg(self, fromUsername, toUsername, message):

     

    found = False

    for room in self.rooms.itervalues():

    for player in room.clients.itervalues():

    if player.username.lower() == toUsername.lower():

    player.sendRecievePrivMsg(fromUsername, message)

    found = True

    return found

     

    def addClientToRoom(self, client, roomName):

    roomName = str(roomName)

    if self.rooms.has_key(roomName):

    self.rooms[roomName].addClient(client)

    else:

    self.rooms[roomName] = TransformiceRoomHandler(self, roomName)

    self.rooms[roomName].addClient(client)

    #return self.rooms[roomName]

     

    def closeRoom(self, room):

    if self.rooms.has_key(room.name):

    room.close()

    del self.rooms[room.name]

     

    def getConnectedPlayerCount(self):

    return 1

     

    def generatePlayerCode(self):

    return random.randrange(1, 10000000)

     

    def recommendRoom(self):

    return 1

    #return min(self.rooms.itervalues(), key=lambda room: abs(len(room.clients) - 20)).name

     

    class TransformiceStateRecorder(object):

    def __init__(self, room):

    self.room = room

     

    self.reset()

     

    def reset(self):

    self.sateLog = []

     

    self.lastPhysicsStateEvent = None

    self.anchors = []

     

    def log(self, eventTokens, values):

    self.sateLog.append((eventTokens, values))

    def logMessage(self, messageFunction, args):

    self.sateLog.append((messageFunction, args))

     

    def setPhyscisState(self, eventTokens, values):

    self.lastPhysicsStateEvent = (eventTokens, values)

    def addAnchor(self, values):

    self.anchors.extend(values)

     

    def sendToClient(self, client):

    if self.lastPhysicsStateEvent:

    eventTokens, value = self.lastPhysicsStateEvent

    client.sendData(eventTokens, value)

     

    for sendThing, value in self.sateLog:

    if type(sendThing) == types.FunctionType:

    sendThing(client, *value)

    else:

    client.sendData(sendThing, value)

     

    if len(self.anchors) > 0:

    client.sendSetAnchors(self.anchors)

     

    class TransformiceRoomHandler(object):

    def __init__(self, server, name):

    self.server = server

    self.name = name.strip()

     

    self.clients = {}

     

    self.stateRecorder = TransformiceStateRecorder(self)

     

    self.currentShamanCode = None

    self.currentSyncroniserCode = None

     

    self.isSandbox = False

    self.isBootcamp = False

    self.specificMap = False

    self.properNoShamanMaps = True

     

    #self.currentWorld = random.choice(LEVEL_LIST)

    runthismap = random.choice(LEVEL_LIST)

    if runthismap == 901:

    runthismap = 1006

    if runthismap == 902:

    runthismap = 1007

    if runthismap == 903:

    runthismap = 1015

    if runthismap == 904:

    runthismap = 1027

    if runthismap == 905:

    runthismap = 1040

    if runthismap == 906:

    runthismap = 1062

    if runthismap == 907:

    runthismap = 1067

    if runthismap == 908:

    runthismap = 1087

    if runthismap == 909:

    runthismap = 1088

    if runthismap == 910:

    runthismap = 1092

    self.currentWorld = runthismap

     

    if self.name.startswith("sandbox_") or self.name.startswith("play_") or self.name.startswith("bootcamp_"):

    try:

    runthismap = int(re.search(r"([0-9]+)$", self.name).group(0))

    if runthismap == 901:

    runthismap = 11006

    if runthismap == 902:

    runthismap = 11007

    if runthismap == 903:

    runthismap = 11015

    if runthismap == 904:

    runthismap = 11027

    if runthismap == 905:

    runthismap = 11040

    if runthismap == 906:

    runthismap = 11062

    if runthismap == 907:

    runthismap = 11067

    if runthismap == 908:

    runthismap = 11087

    if runthismap == 909:

    runthismap = 11088

    if runthismap == 910:

    runthismap = 11092

    self.currentWorld = runthismap

    except (ValueError, AttributeError):

    pass

    else:

    self.specificMap = True

     

    if self.name.startswith("sandbox_"):

    self.isSandbox = True

    if self.name.startswith("bootcamp_"):

    self.isBootcamp = True

     

    self.everybodyIsShaman = self.isSandbox

    self.nobodyIsShaman = self.isBootcamp

     

     

    self.worldChangeTimer = None

    if not self.isSandbox:

    self.worldChangeTimer = threading.Timer(120, self.worldChange)

    self.worldChangeTimer.start()

     

    self.gameStartTime = time.time()

    self.numCompleted = 0

     

    def close(self):

    if self.worldChangeTimer:

    self.worldChangeTimer.cancel()

     

     

    def worldChange(self):

     

    self.stateRecorder.reset()

    self.currentSyncroniserCode = None

    if self.clients.has_key(self.currentShamanCode):

    currentShaman = self.clients[self.currentShamanCode]

    for playerCode, client in self.clients.iteritems():

    try: #be cautious, threads break things but we don't want it to die

    client.sendShamanPerformance(currentShaman.username, self.numCompleted)

    except:

    pass

    self.currentShamanCode = None

     

    for playerCode, client in self.clients.iteritems():

    client.resetPlay()

     

    if not self.specificMap:

    runthismap = random.choice(LEVEL_LIST)

    #if runthismap == 901:

    # runthismap = random.choice(LEVEL_LIST)

    #if runthismap == 902:

    # runthismap = random.choice(LEVEL_LIST)

    #if runthismap == 903:

    # runthismap = random.choice(LEVEL_LIST)

    #if runthismap == 904:

    # runthismap = random.choice(LEVEL_LIST)

    if runthismap == 901:

    runthismap = 1006

    if runthismap == 902:

    runthismap = 1007

    if runthismap == 903:

    runthismap = 1015

    if runthismap == 904:

    runthismap = 1027

    if runthismap == 905:

    runthismap = 1040

    if runthismap == 906:

    runthismap = 1062

    if runthismap == 907:

    runthismap = 1067

    if runthismap == 908:

    runthismap = 1087

    if runthismap == 909:

    runthismap = 1088

    if runthismap == 910:

    runthismap = 1092

    if runthismap == self.currentWorld:

    runthismap = random.choice(LEVEL_LIST)

    self.currentWorld = runthismap

    #print self.currentWorld, self.specificMap

     

    for playerCode, client in self.clients.iteritems():

    client.startPlay()

     

    self.worldChangeTimer = threading.Timer(120, self.worldChange)

    self.worldChangeTimer.start()

     

    self.gameStartTime = time.time()

    self.numCompleted = 0

     

    def worldChangeSpecific(self, mapnumber):

     

    #self.stateRecorder.reset()

    #self.currentSyncroniserCode = None

     

    #if self.clients.has_key(self.currentShamanCode):

    # currentShaman = self.clients[self.currentShamanCode]

    # for playerCode, client in self.clients.iteritems():

    # try: #be cautious, threads break things but we don't want it to die

    # client.sendShamanPerformance(currentShaman.username, self.numCompleted)

    # except:

    # pass

    #self.currentShamanCode = None

     

    #for playerCode, client in self.clients.iteritems():

    # client.resetPlay()

     

    #if not self.specificMap:

    self.currentWorld = mapnumber

    #print self.currentWorld, self.specificMap

     

    for playerCode, client in self.clients.iteritems():

    client.startPlay()

     

    #self.worldChangeTimer = threading.Timer(120, self.worldChange)

    #self.worldChangeTimer.start()

     

    #self.gameStartTime = time.time()

    #self.numCompleted = 0

     

     

    def checkShouldChangeWorld(self):

    if not self.isSandbox:

    if all(client.isDead for client in self.clients.itervalues()):

    self.worldChangeTimer.cancel()

    self.worldChange()

     

    def resetSandbox(self):

    if self.isSandbox:

    for playerCode, client in self.clients.iteritems():

    resetpscore=0

    self.informAll(TransformiceClientHandler.sendPlayerDied, [playerCode, resetpscore])

    client.isDead=True

    if all(client.isDead for client in self.clients.itervalues()):

    #self.worldChangeTimer.cancel()

    #self.worldChange()

    for playerCode, client in self.clients.iteritems():

    client.resetPlay()

    self.currentWorld = self.currentWorld

    for playerCode, client in self.clients.iteritems():

    client.startPlay()

    else:

    pass

     

    def addClient(self, newClient):

     

    self.clients[newClient.playerCode] = newClient

     

    self.informAllOthers(newClient, TransformiceClientHandler.sendNewPlayer, [newClient.getPlayerData()])

     

    #h

    newClient.room = self

     

    newClient.startPlay()

    self.stateRecorder.sendToClient(newClient)

     

    def removeClient(self, removeClient):

    if self.clients.has_key(removeClient.playerCode):

    del self.clients[removeClient.playerCode]

     

    if self.getPlayerCount() == 0:

    self.server.closeRoom(self)

    return

     

    self.informAll(TransformiceClientHandler.sendPlayerDisconnect, [removeClient.playerCode])

    if self.currentSyncroniserCode == removeClient.playerCode:

    newSyncroniser = random.choice(self.clients.values())

    newSyncroniser.isSyncroniser = True

     

    self.currentSyncroniserCode = newSyncroniser.playerCode

    self.informAll(TransformiceClientHandler.sendSynchroniser, [newSyncroniser.playerCode])

     

    self.checkShouldChangeWorld()

     

    def playMusic(self, path):

    self.informAll(TransformiceClientHandler.sendPlayMusic, [path])

     

    def informAll(self, clientFunction, args):

    for playerCode, client in self.clients.iteritems():

    clientFunction(client, *args)

     

    def informAllOthers(self, senderClient, clientFunction, args):

    for playerCode, client in self.clients.iteritems():

    if playerCode != senderClient.playerCode:

    clientFunction(client, *args)

     

    def sendAll(self, eventTokens, data = None):

    for playerCode, client in self.clients.iteritems():

    client.sendData(eventTokens, data)

    def sendAllOthers(self, senderClient, eventTokens, data):

    for playerCode, client in self.clients.iteritems():

    if client.playerCode != senderClient.playerCode:

    client.sendData(eventTokens, data)

     

    def killAll(self):

    for playerCode, client in self.clients.iteritems():

    resetpscore=0

    self.informAll(TransformiceClientHandler.sendPlayerDied, [playerCode, resetpscore])

    client.isDead=True

    self.checkShouldChangeWorld()

     

    def getPlayerCount(self):

    return len(self.clients)

     

    def getPlayerList(self):

    for playerCode, client in self.clients.iteritems():

    yield client.getPlayerData()

     

    def getShamanCode(self):

    if self.currentShamanCode is None:

    self.currentShamanCode = random.choice(self.clients.keys())

    return self.currentShamanCode

    def getSyncroniserCode(self):

    if self.currentSyncroniserCode is None:

    self.currentSyncroniserCode = random.choice(self.clients.keys())

    return self.currentSyncroniserCode

     

    class TransformiceClientHandler(asynchat.async_chat):

    def __init__(self, server, sock, address):

    self.server = server

    self.address = address

     

    asynchat.async_chat.__init__(self, sock=sock)

    self.buffer = ""

    self.set_terminator("\x00")

    self.validatingVersion = True

     

     

    self.username = ""

    self.playerCode = -1

    self.privilegeLevel = 0

    #0 - "Invite" - Guest?

    #1 - Normal player

    #5 - "Modo"?

    #10 - Admin

    self.room = None

     

    self.isShaman = False

    self.isDead = False

    self.isSyncroniser = False

    self.score = 0

     

    self.titleNumber = 0

     

    self.Tellfirsttime = 0

     

     

     

    def collect_incoming_data(self, data):

    self.buffer += data

     

    def found_terminator(self):

    if self.validatingVersion:

    if self.buffer == "<policy-file-request/>":

    if VERBOSE:

    logging.debug("Policy file request")

    self.push(r"""<?xml version="1.0"?>

    <cross-domain-policy>

    <allow-access-from domain="*" to-ports="%d"/>

    </cross-domain-policy>""" % (self.server.PORT) + "\x00")

    self.close_when_done()

     

    else:

    version, bytesLoaded1, bytesLoaded2 = self.buffer.split("\x01")

    if version == VERSION:

    self.sendCorrectVersion()

    else:

    self.close_when_done()

    self.validatingVersion = False

    else:

    self.parseData(self.buffer)

     

    self.buffer = ""

     

     

    def parseData(self, data):

    MDT_stuff = data[:4]

    data = data[4:]

     

    values = data.split("\x01")

     

    if VERBOSE:

    pass

    #logging.debug(repr(MDT_stuff), values)

     

    eventTokens = values.pop(0)

    eventToken1, eventToken2 = eventTokens

     

    if eventToken1 == "\x1A":

    if eventToken2 == "\x02":

    #awake timer

    unknownTime, = values

    unknownTime = int(unknownTime)

     

    elif eventToken2 == "\x03":

    #create account

    username, passwordHash = values

     

    username = username.replace("<","")

     

    self.server.createAccount(username, passwordHash)

    self.login(username, passwordHash)

     

    elif eventToken2 == "\x04":

    #login

    username, passwordHash, showTarget = values

    showTarget = bool(int(showTarget))

     

    username = username.replace("<","")

     

    self.login(username, passwordHash)

     

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

    elif eventToken1 == "\x04":

    if eventToken2 == "\x03":

    #world physics update

    #CodePartieEnCours = values.pop(0)

    #for objectData in values:

    # if objectData == 'x':

    # continue

    # objectType, x, y, dx, dy, rotation, angularVelocity, isSolid = objectData.split(',')

     

    if self.isSyncroniser:

    self.room.sendAllOthers(self, eventTokens, values)

    self.room.stateRecorder.setPhyscisState(eventTokens, values)

     

    elif eventToken2 == "\x04":

    #position update

    #isMovingRight, isMovingLeft, x, y, dx, dy, isJumping, jumpAnimation = values

     

    self.room.sendAllOthers(self, eventTokens, values + [self.playerCode])

     

     

     

    elif eventToken2 == "\x05":

    #player went out of bounds

    self.isDead = True

     

    #score shit

    #self.score = self.score-1

    #if self.score < 0:

    # self.score = 0

    #end

     

    self.room.informAll(TransformiceClientHandler.sendPlayerDied, [self.playerCode, self.score])

     

    self.room.checkShouldChangeWorld()

    elif eventToken2 == "\x06":

    # "Demande_Giclage"

    #objectCode, = values

     

    self.room.sendAll(eventTokens, values)

     

     

    elif eventToken2 == "\x08":

    #animation conjouring?

    #direction, = values

    #direction = int(direction)

     

    self.room.sendAllOthers(self, eventTokens, [self.playerCode] + values)

     

    elif eventToken2 == "\x09":

    #begin/end crouch

    crouching, = values

    crouching = bool(int(crouching))

    if crouching:

    self.room.sendAllOthers(self, eventTokens, [self.playerCode] + values)

    else:

    self.room.sendAllOthers(self, eventTokens, [self.playerCode])

    elif eventToken2 == "\x12":

    #begin grappin

    x, y = values

    self.room.sendAllOthers(self, eventTokens, [self.playerCode] + values)

    #pass

    elif eventToken2 == "\x13":

    #end grappin

    self.room.sendAllOthers(self, eventTokens, [self.playerCode])

    #pass

     

    elif eventToken2 == "\x14":

    logging.debug("PONG'd")

     

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

    elif eventToken1 == "\x06":

    if eventToken2 == "\x06":

    #sent chat message

    message, = values

     

    message = message.replace("<","")

    #message = message.replace("#","")

     

    logging.info("(%s) %s: %r" % (self.room.name, self.username, message))

     

    self.room.sendAll(eventTokens, [self.playerCode, self.username, message.strip()])

    elif eventToken2 == "\x1A":

    #sent command

     

    event, = values

    event_raw = event.strip()

    event = event_raw.lower()

     

    logging.info("(%s) [c] %s: %r" % (self.room.name, self.username, event))

     

    if event.startswith("room ") or event.startswith("salon "):

    #changing room

    #roomname = event[5:]

    roomname = event.split(" ", 1)[1]

    self.enterRoom(roomname)

     

    elif event.startswith("c ") or event.startswith("w "):

    _, username, message = event_raw.split(" ", 2)

     

    if not self.server.sendPrivMsg(self.username, username, message): #if failure

    self.sendPlayerNotFound()

    else:

    self.sendSentPrivMsg(username, message)

     

    elif event in ("dance", "danse", "profil"):

    self.room.informAll(TransformiceClientHandler.sendPlayerAction, [self.playerCode, 1])

    elif event in ("laugh", "rire"):

    self.room.informAll(TransformiceClientHandler.sendPlayerAction, [self.playerCode, 2])

    elif event in ("cry", "pleurer"):

    self.room.informAll(TransformiceClientHandler.sendPlayerAction, [self.playerCode, 3])

    elif event in ("deconnecter"):

    self.room.informAll(TransformiceClientHandler.sendPlayerDisconnect, [self.playerCode])

    self.close()

    elif event in ("kill", "sucide", "bubbles", "die"):

    self.isDead = True

    self.room.informAll(TransformiceClientHandler.sendPlayerDied, [self.playerCode, self.score])

    self.room.checkShouldChangeWorld()

     

     

    elif event.startswith("title ") or event.startswith("titre "):

    titlenumber = event.split(" ", 1)[1]

    self.titleNumber = titlenumber

     

    elif event.startswith("profil"):

    self.sendPlayerNotFound()

     

    elif event.startswith("ban "):

    banname = event.split(" ", 1)[1]

    #Not done

     

    elif event.startswith("annonce ") or event.startswith("an "):

    #modsendmessage = event.split(" ", 1)[1]

    if self.username=="Admin":

    modsendmessage = event.split(" ", 1)[1]

    #for room in self.server.rooms.itervalues():

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Admin", modsendmessage])

     

    elif event.startswith("information") or event.startswith("info "):

    #modsendmessage = event.split(" ", 1)[1]

    if self.username=="Admin":

    modsendmessage = event.split(" ", 1)[1]

    #for room in self.server.rooms.itervalues():

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event.startswith("all") or event.startswith("tous "):

    #modsendmessage = event.split(" ", 1)[1]

    if self.username=="Admin":

    modsendmessage = event.split(" ", 1)[1]

    #for room in self.server.rooms.itervalues():

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["", modsendmessage])

     

    elif event.startswith("def"):

    if self.username=="Admin":

    tellfirstm = event.split(" ", 1)[1]

    if tellfirstm == "arret":

    modsendmessage = "Arret du serveur"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

    elif tellfirstm == "infos":

    modsendmessage = "TransforEmu V 0.55 By Phoenix ~For FUNKYCHEAT.FR~"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

    elif tellfirstm == "aide":

    modsendmessage = "Liste des commandes dans le site. Pour obtenir de l'aide de la part d'un administrateur '/c Admin TONMESSAGE"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

    elif tellfirstm == "maj":

    modsendmessage = "Relancez la page et videz le cache"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Mise A Jour", modsendmessage])

    elif tellfirstm == "reboot":

    modsendmessage = "Reboot (Redemmarage) du serveur imminent"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

    elif tellfirstm == "commandes":

    modsendmessage = "<b><u>Commandes</u></b> Joueurs Normaux</br></br> <b><u>Touche ALT + Clic sur la carte</u></b> Teleportation</br></br></br> <b><u>Clic sur la carte</u></b> Active/Bouge le Grappin</br> <b><u>Clic sur soi</u></b> Desactive le Grappin</br> <b><u>/salon X</u></b> Change de salon</br> <b><u>/salon sandbox_X</u></b> Va dans un salon Sandbox (Pas de limite de temps, tout le monde chaman) (X = ID de carte) </br><b><u>/salon play_X</u></b> Va dans un salon ou une carte sera joue en boucle (X = ID de carte)</br> <b><u>/salon bootcamp_X</u></b> Va dans un salon sans chaman (X = ID de carte)</br> <b><u>/rire</u></b> Rigoler</br> <b><u>/pleurer</u></b> Pleurer</br> <b><u>/danse</u></b> Danser</br> <b><u>/deconnecter</u></b> Se deconnecter</br> <b><u>/sucide</u></b> Se tuer (de la partie)</br> <b><u>/titre X</u></b> Change de titre</br> <b><u>/c X Y</u></b> Parler a quelqun (X = Destinataire, Y = Message)"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event.startswith("first ") or event.startswith("premier "):

    if self.username=="Admin":

    tellfirstm = event.split(" ", 1)[1]

    if tellfirstm == "oui":

    modsendmessage = "Publication des first dans le chat"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

    self.Tellfirsttime=1

    elif tellfirstm == "non":

    modsendmessage = "Arret de la publication des first dans le chat"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

    self.Tellfirsttime=0

    else:

    modsendmessage = "Invalide."

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Erreur", modsendmessage])

    self.Tellfirsttime=0

     

    elif event.startswith("map ") or event.startswith("carte "):

    #This command is very glitchy. Avoid using.

    if self.username=="Admin":

    mapnumber = event.split(" ", 1)[1]

    self.isDead = True

    self.room.informAll(TransformiceClientHandler.sendPlayerDied, [self.playerCode, self.score])

    self.room.worldChangeSpecific(mapnumber)

    modsendmessage = "Changement de carte"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

     

     

     

     

    elif event.startswith("chamanfake ") or event.startswith("fake "):

    if self.username=="Admin":

    _, hname, hsaves = event_raw.split(" ", 2)

    self.room.informAll(TransformiceClientHandler.sendShamanPerformance, [hname, hsaves])

     

    elif event in ("killall") or event.startswith("tuercarte"):

    if self.username=="Admin":

    self.room.killAll()

    modsendmessage = "Joueurs de la carte tues"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event in ("clear") or event.startswith("nettoyer"):

    if self.username=="Admin":

    self.room.resetSandbox()

    modsendmessage = "Relancement de la carte"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event in ("online") or event.startswith("joueursco"):

    #modsendmessage = event.split(" ", 1)[1]

    if self.username=="Admin":

    #modsendmessage = self.room.getPlayerCount()

    playercountm = self.room.getPlayerCount()

    modsendmessage = 'Il y a %d Joueurs Connéctés.' % playercountm

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event in ("mapid") or event.startswith("idcarte"):

    #modsendmessage = event.split(" ", 1)[1]

    if self.username=="Admin":

    currentmapme = self.room.currentWorld

    modsendmessage = 'Nous sommes sur la carte %d.' % currentmapme

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event in ("cartere") or event.startswith("replay"):

    #modsendmessage = event.split(" ", 1)[1]

    if self.username=="Admin":

    currentmapme = self.room.currentWorld

    self.isDead = True

    self.room.informAll(TransformiceClientHandler.sendPlayerDied, [self.playerCode, self.score])

    self.room.worldChangeSpecific(currentmapme)

    modsendmessage = 'Relancement de la carte %d.' % currentmapme

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Information", modsendmessage])

     

    elif event.startswith("hole ") or event.startswith("troufake "):

    if self.username=="Admin":

    _, hscore, hplace, htime = event_raw.split(" ", 3)

    self.isDead = True

    #self.room.informAll(TransformiceClientHandler.sendPlayerDied, [self.playerCode, self.score])

    self.room.informAll(TransformiceClientHandler.sendPlayerGotCheese, [self.playerCode, hscore, hplace, htime])

    self.room.checkShouldChangeWorld()

     

    elif event.startswith("libre ") or event.startswith("free "):

    if self.username=="Admin":

    _, hscore, htime = event_raw.split(" ", 2)

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["", ])

     

     

    elif event.startswith("music ") or event.startswith("musique"):

    if self.username=="Admin":

    musicmessage = event.split(" ", 1)[1]

    self.room.informAll(TransformiceClientHandler.sendPlayMusic, [musicmessage])

    modsendmessage = "On met le son !!!"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Musique", modsendmessage])

     

    elif event.startswith("musicoff") or event.startswith("musiqueoff"):

    if self.username=="Admin":

    musicmessage = event.split("off", 1)[1]

    self.room.informAll(TransformiceClientHandler.sendPlayMusic, [musicmessage])

    modsendmessage = "Et on coupe le son !!!"

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~Musique", modsendmessage])

     

    else:

    logging.warning("Unimplemented %r" % event)

    #raise NotImplementedError, event

     

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

    elif eventToken1 == "\x05":

    if eventToken2 == "\x07":

    #Anchor thing

    #jointType, object1, o1x, o1y, o1r, object2, o2x, o2y, o2r = values

     

    self.room.stateRecorder.addAnchor(values)

    self.room.sendAllOthers(self, eventTokens, values)

    #self.room.sendAll(eventTokens, values)

     

    elif eventToken2 == "\x08":

    #object begin conjouring

    #objectCode, x, y, rotation = values

    self.room.sendAllOthers(self, eventTokens, [self.playerCode] + values)

     

    elif eventToken2 == "\x09":

    #end conjouring?

    self.room.sendAllOthers(self, eventTokens, [self.playerCode])

     

    elif eventToken2 == "\x0E":

    # "Demande_Creation_Clou"

    #pass

     

    self.room.sendAll(eventTokens, values)

     

    elif eventToken2 == "\x0F":

    # "Demande_Creation_Sol"

    #pass

     

    self.room.sendAll(eventTokens, values)

     

    elif eventToken2 == "\x10":

    # "Demande_Deplacement_Fromage"

    #x, y = values

     

    self.room.sendAll(eventTokens, values)

     

    elif eventToken2 == "\x11":

    # "Demande_Explosion"

    #pass

     

    self.room.sendAll(eventTokens, values)

     

    elif eventToken2 == "\x12":

    #Mouse got cheese into hole!

    objectID, = values

     

    self.isDead = True

     

    self.room.numCompleted += 1

    place = self.room.numCompleted

     

    timeTaken = int( (time.time() - self.room.gameStartTime)*10 )

     

    #Score shit

    playerscorep = self.score

    if place==1:

    playerscorep = playerscorep+16

    elif place==2:

    playerscorep = playerscorep+14

    elif place==3:

    playerscorep = playerscorep+12

    else:

    playerscorep = playerscorep+10

    if self.isShaman==True:

    playerscorep = 0

    self.score = playerscorep

    #end

     

    if self.room.numCompleted==1:

    if self.Tellfirsttime == 1:

    modsendmessage = 'First en %d dixiemes de secondes' % (timeTaken)

    self.room.informAll(TransformiceClientHandler.sendModMessage, ["~First", modsendmessage])

     

    self.room.informAll(TransformiceClientHandler.sendPlayerGotCheese, [self.playerCode, self.score, place, timeTaken])

     

    #h

    self.room.stateRecorder.logMessage(TransformiceClientHandler.sendPlayerGotCheese, [self.playerCode, self.score, place, timeTaken])

     

    self.room.checkShouldChangeWorld()

     

    elif eventToken2 == "\x13":

    #client thinks he has cheese

    #pass

     

    #sendAll will confirm it to the client :/

    self.room.sendAll(eventTokens, [self.playerCode])

     

    self.room.stateRecorder.log(eventTokens, [self.playerCode])

     

    elif eventToken2 == "\x14":

    #object finalise conjouring

    #objectCode, x, y, rotation, unkn1, unkn2, isSolid = values

     

    self.room.sendAllOthers(self, eventTokens, [self.playerCode] + values)

     

     

    elif eventToken2 == "\x15":

    # "Creation_Objet_Monde" - world object creation

    #objectCode, x, y, unkn1, unkn2, unkn3, unkn4 = values

     

    #if self.isSyncroniser:

    self.room.sendAllOthers(self, eventToken1 + "\x14", values)

    elif eventToken2 == "\x16":

    # "Demande_Changement_Gravite"

    #gx, gy = values

     

    #if self.isSyncroniser:

    self.room.sendAll(eventTokens, values)

     

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

    elif eventToken1 == "\x14":

    if eventToken2 == "\x14":

    #open shop

     

    #do something here

    pass

    elif eventToken1 == "\x18":

    if eventToken2 == "\x0F":

    #open forums

     

    #do something here

    pass

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

    elif eventToken1 == "\x08":

    if eventToken2 == "\x0D":

    #open friends

    pass

    elif eventToken2 == "\x10":

    #attach baloon to player

    #playerCode, = values

    self.room.sendAll(eventTokens, values)

    elif eventToken2 == "\x11":

    #baloon detatched

    self.room.sendAllOthers(self, "\x08\x10", [self.playerCode, "0"]) #unknown??

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

    elif eventToken1 == "\x19":

    if eventToken2 == "\x03":

    #Clear drawing

    self.room.sendAllOthers(self, eventTokens, values)

    elif eventToken2 == "\x04":

    #Start drawing

    #x,y = values

    self.room.sendAllOthers(self, eventTokens, values)

    elif eventToken2 == "\x05":

    #Draw point

    #x,y = values

    self.room.sendAllOthers(self, eventTokens, values)

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    else:

    logging.warning("Unimplemented %r" % eventTokens)

    #raise NotImplementedError, eventTokens

     

     

    def handle_close(self):

    if self.room:

    self.room.removeClient(self)

    self.close()

     

     

    def getLook(self):

    return "0,0"

     

    def sendData(self, eventCodes, data = None):

    if VERBOSE:

    logging.debug("Send %r %r" % (eventCodes, data))

     

    if data:

    self.push('\x01'.join(map(str, [eventCodes] + data)) + "\x00")

    else:

    self.push(eventCodes + "\x00")

     

    def sendCorrectVersion(self):

    self.sendData("\x1A" + "\x1B",

    [str(self.server.getConnectedPlayerCount()), "0123456789", "0"] #MDT, CMDTEC

    )

     

    def sendTitleList(self):

    self.sendData("\x08" + "\x0F",

    ["0"]

    )

     

    def sendPlayerLoginData(self):

    self.sendData("\x1A" + "\x08",

    [self.username, str(self.playerCode), str(self.privilegeLevel)]

    )

     

    def sendEnterRoom(self, roomName):

    self.sendData("\x05" + "\x15",

    [str(roomName)]

    )

     

    def sendNewParty(self):

    self.sendData("\x05" + "\x05",

    [self.room.currentWorld, self.room.getPlayerCount(), 1] #time remaining?

    )

    def sendPlayerList(self):

    self.sendData("\x08" + "\x09",

    list(self.room.getPlayerList())

    )

     

    def sendNewPlayer(self, playerData):

    self.sendData("\x08" + "\x08",

    [playerData]

    )

     

    def sendPlayerDisconnect(self, playerCode):

    self.sendData("\x08" + "\x07",

    [playerCode]

    )

    def sendPlayerDied(self, playerCode, score):

    score = score-1

    if score < 0:

    score = 0

    self.score=score

    self.sendData("\x08" + "\x05",

    [playerCode, 0, score] # unkn (num left?), score

    )

    def sendPlayerGotCheese(self, playerCode, score, place, timeTaken):

    self.sendData("\x08" + "\x06",

    [playerCode, 0, score, place, timeTaken] #unkn (num left?), score, place, time

    )

     

    def sendShamanCode(self, shamanPlayerCode):

    self.sendData("\x08" + "\x14",

    [shamanPlayerCode]

    )

    def sendSynchroniser(self, playerCode):

    self.sendData("\x08" + "\x15",

    [playerCode]

    )

     

    def sendSetAnchors(self, anchors):

    self.sendData("\x05" + "\x07",

    anchors

    )

     

    def sendATEC(self):

    self.sendData("\x1A" + "\x1A")

    def sendPING(self):

    self.sendData("\x04" + "\x14")

     

    def sendShamanPerformance(self, shamanName, numGathered):

    #Will display "Info_Fromage_Chamane" in chat

    # - "Merci a <V>%1<BL>, qui nous a fait gagner %2 fromages !"

    self.sendData("\x08" + "\x11",

    [shamanName, numGathered]

    )

     

    def sendPlayerAction(self, playerCode, action):

    self.sendData("\x08" + "\x16",

    [playerCode, action]

    )

     

    def sendModMessage(self, name, message):

    self.sendData("\x1A" + "\x05",

    [name, message]

    )

    def sendServerMessage(self, message):

    self.room.sendWholeServer(self, "\x1A\x04", ["[~Message serveur] ", message])

     

     

     

    def sendPlayMusic(self, path):

    self.sendData("\x1A" + "\x0C",

    [path]

    )

     

     

    def sendSentPrivMsg(self, username, message):

    self.sendData("\x06" + "\x07",

    [message, username]

    )

    def sendRecievePrivMsg(self, username, message):

    self.sendData("\x06" + "\x07",

    [message, username, "x"]

    )

    def sendPlayerNotFound(self):

    self.sendData("\x06" + "\x07")

     

     

    def getPlayerData(self):

    return '#'.join(map(str,

    #has cheese #avatar?

    [self.username, self.playerCode, int(self.isDead), self.score, 0, self.titleNumber, 0, self.getLook()]

    ))

     

    def enterRoom(self, roomName):

     

    if self.room:

    self.room.removeClient(self)

     

    self.resetPlay()

    self.score = 0

     

    self.sendEnterRoom(roomName)

     

    #self.room =

    self.server.addClientToRoom(self, roomName)

     

     

    def resetPlay(self):

    self.isShaman = False

    self.isDead = False

    self.isSyncroniser = False

     

    def startPlay(self):

    self.resetPlay()

     

    self.sendNewParty()

    self.sendPlayerList()

     

    shamanCode = self.room.getShamanCode()

    if self.room.everybodyIsShaman:

    self.sendShamanCode(self.playerCode)

    elif self.room.nobodyIsShaman:

    self.sendShamanCode(0)

    elif self.room.properNoShamanMaps:

    if self.room.currentWorld==7:

    self.sendShamanCode(0)

    elif self.room.currentWorld==8:

    self.sendShamanCode(0)

    elif self.room.currentWorld==54:

    self.sendShamanCode(0)

    elif self.room.currentWorld==55:

    self.sendShamanCode(0)

    elif self.room.currentWorld==57:

    self.sendShamanCode(0)

    elif self.room.currentWorld==70:

    self.sendShamanCode(0)

    elif self.room.currentWorld==77:

    self.sendShamanCode(0)

    elif self.room.currentWorld==78:

    self.sendShamanCode(0)

    elif self.room.currentWorld==87:

    self.sendShamanCode(0)

    elif self.room.currentWorld==88:

    self.sendShamanCode(0)

    elif self.room.currentWorld==89:

    self.sendShamanCode(0)

    elif self.room.currentWorld==92:

    self.sendShamanCode(0)

    elif self.room.currentWorld==99:

    self.sendShamanCode(0)

    elif self.room.currentWorld==1007:

    self.sendShamanCode(0)

    else:

    self.sendShamanCode(shamanCode)

    else:

    self.sendShamanCode(shamanCode)

     

    if shamanCode == self.playerCode:

    self.isShaman = True

     

    syncroniserCode = self.room.getSyncroniserCode()

    self.sendSynchroniser(syncroniserCode)

    if syncroniserCode == self.playerCode:

    self.isSyncroniser = True

    if self.username == "Timekeeper":

    self.isDead = True

    self.room.informAll(TransformiceClientHandler.sendPlayerDied, [self.playerCode, self.score])

     

     

     

    def login(self, username, passwordHash):

     

    if username == "":

    username = "Souris"

     

    if username == "Nickname":

    username = "Souris"

     

    if username == "Yellow":

    username = "[~Yellow~]"

     

    if username == "Melibellule":

    username = "[~Melibellule~]"

     

    if username == "Tigrounette":

    username = "[~Tigrounette~]"

     

    if username == "Modogeek":

    username = "[~Modogeek~]"

     

    if username == "Jonathan":

    username = "[~Jonathan~]"

     

    if username == "Tigrounette":

    username = "[~Tigrounette~]"

     

    logging.info("Authenticate %s - %s %s" % (self.address, username, passwordHash))

     

    priv = self.server.authenticate(username, passwordHash)

    if priv == -1:

    #return False

    self.close()

     

    else:

    self.username = username

     

    self.playerCode = self.server.generatePlayerCode()

    self.privilegeLevel = priv

    #self.titleNumber = 0

    if self.username == "Phoenix":

    self.titleNumber = 440

    elif self.username == "Admin":

    self.titleNumber = 440

    elif self.username == "Yellow":

    self.titleNumber = 444

    else:

    self.titleNumber = 102

     

     

    self.sendTitleList()

    self.sendPlayerLoginData()

     

    self.enterRoom(self.server.recommendRoom())

     

    return True

     

     

    class TransformiceAdminTools(object):

    def __init__(self, server):

    self.server = server

    def sendModMessage(self, message):

    for room in self.server.rooms.itervalues():

    room.informAll(TransformiceClientHandler.sendModMessage, [ADMIN_NAME, message])

    def playMusicInRoom(self, roomName, path):

    roomName = str(roomName)

    if self.server.rooms.has_key(roomName):

    self.server.rooms[roomName].playMusic(path)

     

     

    #from

    É necessário se cadastrar para acessar o conteúdo.

    class VerifyingXMLRPCServer(SimpleXMLRPCServer):

    def __init__(self, *args, **kargs):

    # we use an inner class so that we can call out to the

    # authenticate method

    class VerifyingRequestHandler(SimpleXMLRPCRequestHandler):

    # this is the method we must override

    def parse_request(myself):

    # first, call the original implementation which returns

    # True if all OK so far

    if SimpleXMLRPCRequestHandler.parse_request(myself):

    # next we authenticate

    if self.authenticate(myself.headers):

    return True

    else:

    # if authentication fails, tell the client

    myself.send_error(401, 'Authentication failed')

    return False

    # and intialise the superclass with the above

    SimpleXMLRPCServer.__init__(self, requestHandler=VerifyingRequestHandler, *args, **kargs)

     

    def authenticate(self, headers):

    basic, _, encoded = headers.get('Authorization').partition(' ')

    assert basic == 'Basic', 'Only basic authentication supported'

    username, _, password = base64.b64decode(encoded).partition(':')

     

    return username.lower() in ADMIN_NAMES and hashlib.sha256(password).hexdigest() == ADMIN_HASH

     

    if __name__ == "__main__":

    TEST = False

    server = TransformiceServer()

     

    adminTools = TransformiceAdminTools(server)

     

    rpcServer = VerifyingXMLRPCServer(('', 1110), allow_none=True)

    rpcServer.register_introspection_functions()

    rpcServer.register_instance(adminTools, True)

    thread.start_new_thread(rpcServer.serve_forever, ())

     

    asyncore.loop()

     

    1 - Quando você tiver a source em *.py - Você terá que transforma-la em uma db, no caso poderia ser:

    Ex.: Transformice.py.db

    Algo assim, e para transforma-la em db é preciso do SQLite, assim que pegar a db, você ira baixar o vertrigo (para acessar o phpmyadmin).

    2- Assim que baixar o vertrigo, você irá abri-lo e clicar em "Start Host" depois voce vai em: phpmyadmin (como se fosse entrar em um site).

    3- Você irá criar um novo banco de dados com esse nome:

    Transformice DB

    4- O site irá redirecionar você para uma outra página nele você ira na aba "Importar" e colocará a db que criamos no caso: Transformice.py.db

    5- Irá criar muitas, muitas, muitas tabelas você irá em "Ip, Host" e ali você colocará o seu IP e a Port do servidor ( Recomenda-se uma TCP ).

    6- Depois você entra no site com seu numero de ip.

    Ex.:

    É necessário se cadastrar para acessar o conteúdo.

    7- Logo você se registra, e volta no phpmyadmin, dai você procura a tabela "Users" ou "Usuarios" ou "Registros" e ali você ira achar um "registro" com seu usuario ( que voce cadastrou no transformice, no site do seu ip ). Dai voce clica em um "lapizinho" e procura "rank" e você poem o numero 5 ali.

    Pronto você e fundador do seu servidor de transformice.

     

    ~~RANKS~~:

     

    1 -Usuario

     

    2 -Moderador

    3 -Administrador aprendiz

    4 -Administrador

    5 -Fundador

    8- Para dar queijos você procura a tabela "infos" ou "queijos" e clique no "lapizinho" do lado do nome de quem você quer dar queijos e procure "Stats" ali você poem o numero de queijos que você quer dar para a pessoa.

     

     

    ATENÇÃO: Se for dar queijo para todo server entra na tabela "all" e faça isso.

     

    Tutorial : cAIo

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.