Project Updates

Still programming stuff while I can. Been working on networking on a server / client game project in Leadwerks. So far I am able to do a handshake between the client and server, then have all changed entities sync properly across the network. There is no server reconciliation or client prediction so I doubt it will work well at long distances, high ping.

I started using git because a backup trashed the project and set my development back. I had implemented a clientside buffer and was able to lerp to the new position. It preformed absolutly horribly. I also realized that I needed to implement a server browser to navigate the master server list. And the server needs to publish to the master server.

In the meantime, this is my plan for how a server and client will deal with the server browser.

Server Client Flow

  • Join from Server List
    • Server registers with master server
    • Client gets master list
    • Client Chooses server
  • Join direct from IP
    • client connects to server
    • client and server does handshake
  • If game is not in session
    • server places client in lobby
    • server sends all the teams (server can also automatically assign to teams)
    • client chooses team
    • server approves or rejects
    • client chooses to join game
  • If game is in session
    • server sends all the teams (server can also automatically assign to teams)
    • client sends the team it wants (optional)
    • server approves or rejects (optional)
    • client chooses to join game (optional)
    • Server places client into game.

Posted in Coding on Aug 15, 2017.