i working on a multi player game project its strategy so i need to sending data for more that one object in the same time i created a client and server and that's worked for one object in the server and one object in the client but after i added the second object to the server i get a proplem not error just 3d objects position proplem and the controller for server objects get swapped for example the server have two objects that's i can get access to control it ["Cube"] and ["Server"] and the server have only one object that's called ["Client"] the proplem is when i run server then i controll my objects the engine swaping the objects in the client screen for example whe i click up arrow to move the ["Server"] object to up the ["Cube"] object who moves in the Client screen and when i click w key to move ["Cube"] object to up the ["Server"] object who moves in the client screen that's my client code the ["client"] object are connected to it in the game engine #------------Setup--------------# from pickle import dumps, loads from mathutils import Vector from GameLogic import * import GameLogic as GameLogic import bge from socket import * import socket import pickle cont = GameLogic.getCurrentController() owner = cont.owner #obj = cont.owner if not owner['OneTime']: ServerIP = GameLogic.IP Serverport = 2052 Clientname = '' ClientPort = 2053 GameLogic.sClient = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) GameLogic.sClient.bind((Clientname,ClientPort)) GameLogic.host = (ServerIP,Serverport) GameLogic.sClient.setblocking(0) owner['OneTime'] = 1 PosYou = list(owner.worldPosition) scene = getCurrentScene() Cube = scene.objects["Cube"] Server = scene.objects["Server"] PosServer = [0,0,0] PosCube = [0,0,0] #------------RECEIVE/SEND--------------# Data = pickle.dumps((PosYou)) GameLogic.sClient.sendto(Data,GameLogic.host) try: #thefucking proplem Data, SRIP = GameLogic.sClient.recvfrom(1024) UPData = pickle.loads(Data) PosServer = [UPData[0],UPData[1],UPData[2]] Server.worldPosition = PosServer Data2, SRIP2 = GameLogic.sClient.recvfrom(1024) UPData2 = pickle.loads(Data2) PosCube = [UPData2[0],UPData2[1],UPData2[2]] Cube.worldPosition = PosCube except OSError: pass #---------------THE-END----------------# that's my server code the ["Server"] object are connected to it in the game engine #------------Setup--------------# from GameLogic import * import GameLogic as GameLogic import bge from socket import * import socket import pickle from pickle import * cont = GameLogic.getCurrentController() owner = cont.owner #obj = cont.owner if not owner['OneTime']: Host = "localhost" ServerPort = 2052 GameLogic.sServer = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) GameLogic.sServer.bind((Host,ServerPort)) GameLogic.sServer.setblocking(0) owner['OneTime'] = True PosYou = list(owner.worldPosition) scene = getCurrentScene() Client = scene.objects["Client"] Cube = scene.objects["Cube"] PosClient = [0,0,0] PosCube = [0,0,0] #------------RECEIVE/SEND--------------# try: Data, CLIP = GameLogic.sServer.recvfrom(1024) UPData = pickle.loads(Data) PosClient = [UPData[0],UPData[1],UPData[2]] Client.worldPosition = PosClient Data = pickle.dumps((PosYou)) GameLogic.sServer.sendto(Data,CLIP) except OSError: pass #---------------THE-END----------------# the second object code the ["Cube"] object and that's connected two the object in the game engine and i get this error when i run it > File "secondob.py", line 18, in AttributeError: 'module' object has no attribute 'sServer' #------------Setup--------------# from GameLogic import * import GameLogic as GameLogic import bge from socket import * import socket import pickle from pickle import * cont2 = GameLogic.getCurrentController() owner2 = cont2.owner #obj = cont.owner GameLogic.sServer.setblocking(0) PosYou2 = list(owner2.worldPosition) scene = getCurrentScene() Client = scene.objects["Client"] PosClient2 = [0,0,0] #------------RECEIVE/SEND--------------# try: Data2, CLIP2 = GameLogic.sServer.recvfrom(1024) UPData2 = pickle.loads(Data2) PosClient2 = [UPData2[0],UPData2[1],UPData2[2]] Client.worldPosition = PosClient2 Data2 = pickle.dumps((PosYou2)) GameLogic.sServer.sendto(Data2,CLIP2) except OSError: pass #---------------THE-END----------------#