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.