Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

100 Neutral

About hasore

  • Rank
  1. hasore

    Encapsulating a network message

    Certain? I don't know a 3 byte value type... ShortInt, Byte = 1 byte SmallInt, Word = 2 bytes Float, Integer = 4 bytes Double, Int64, Currency, Date = 8 bytes I think, the message length and the message id is word or smallint type, because message len and message id ocuppies 4 bytes in total for storage.
  2. hasore

    Game Logic

    I still using a Threaded Database Connections or use a own connection for each query?
  3. hasore

    Encapsulating a network message

    You know the packet structure for the game?
  4. hasore

    Encapsulating a network message

    1 - Work with word data type messages ( 2 Bytes ). 2 - I think, u don't need to store message length, because a word value is 2 bytes ( 0-65535 ). Client: After the message, write the buffer/data. Server: In server, first read the message, after read buffer/data based on messageid.
  5. hasore

    Game Logic

    Server, Login, Info, Prize, DBConnnection Threads is a global thread. Only the socket thread is created on receive socket.
  6. hasore

    Game Logic

    The dll have a own connection with the server that I developed and described above. Clients doesn't connect/talk to database, adUseClient is cursor location for get data for database fastest and adUseServer to write/update, the connection occurs in server. The database is used to obtain information on loads of items. Any Socket received by Server is repassed to a new socket thread, its wrong? procedure TServerThread.ReceiveData(Sender: TObject; Socket: TCustomWinSocket); var SThread:TSocketThread; begin {$O+}//Optimization+ SThread:=TSocketThread.Create(Socket,True,True); {$O-} end;
  7. hasore

    Game Logic

    I'm starting to develop multiplayer games, for now I'm working on simple things, like a extension dll. My DLL Game Logic: I am developing in Pascal, using ADO to connect to SQL, and Client / ServerSocket for TCP Connections in mode ctNonBlocking / stNonBlocking. The above structure is used in a DLL which acts as an extension of a game, and works as follows: 1 - (Client<->Server->SocketThread->LoginThread) The dll is loaded by executable and connects to the server, then the player performs login to the server (2 Querys). 2 - (Client<->Server->SocketThread->GlobalInfoThread) After logging in, the client requests some information and the server returns data (7 Querys). 3 - (Client<->Server->SocketThread->RetraceInfoThread) When you open a window in question, the DLL sends a message to the server requesting data to update the client (7 Querys), that used, because items can be upgraded by purchasing through a browser. 4 - (Client<->Server->SocketThread->OpenPrizeThread) Players open a chest and the server return the prize (9 Querys). Problems: 1 - Upon arrival at about ~ 300K queries, the connection to the database seems to be destroyed, not sure. 2 - I'd like some tips to improve my structure, because i think it's a bad design. 3 - The SQLServer (2000) ends up consuming somewhere around 1.5GB ram to get around the ~ 300k queries, and the server is slow... Remarks: There are 4 threads calling SocketThread (Login, GlobalInfo, RetraceInfo, OpenBag), each with its connection to the database through a thread. I am using Query objects in the CursorLocation: adoUseServer to UPDATE / INSERT and the SELECT to adoUseClient. The average of people connected to the server through this dll is 150. Not sure if the logic posted, is problematic, since it was previously using a single database connection for all threads, and I think I have not done a full test with this logic. I will do a full test posted to this logic, with upgrade on SQLServer (2005 SP3) and upgrade in server hardwares, anyway, i would like to help me.
  8. Hello, I'm starting with multiplayer programming and have much questions to a good perfomance server. First, the conditions of my game: OS: Windows Server Expected Players: 1000 for each game server. 1 - DB Connetion, i have do: One db connection to each player. One db connection in each server. A DBServer interconnected to game/login server ( can post a example? ); 2 - Login<>Game Server, i have to do: LoginServer save the session info and GameServer call login server to ask the session data via local sockets. LoginServer save the session info and GameServer call login server to ask the session data via local messages. 3 - General Socket questions. 3.1. I need to create: each thread for each packet received. create a thread for each client connected and manipulate data. Obs: I'm pascal developer. I want solutions in any programming language. Thx.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!