Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add proper client initialization #1116

Merged
merged 1 commit into from Jan 31, 2014

Conversation

Projects
None yet
1 participant
@sapier
Copy link
Contributor

commented Jan 23, 2014

Fixes following issues:

  • Client not sending TOSERVER_RECEIVED_MEDIA if it doesn't have all media right from start
  • Joining player standing in world long before player can move
  • Data sent to clients prior clients are ready to receive

Additional improvements

  • max receive buffer is now set to IPv6 minimum UDP size of 1500 bytes (only buffer not packet size)
  • conlock is split to multiple small locks
  • remove lots of duplicated code in server.cpp

Design decisions

  • client list handling moved from server to separate class
  • Added remote client state
  • Player initialization data isn't sent uppon reception of INIT2 but after TOSERVER_RECEIVED_MEDIA (this will result in old clients failing to join on login without having completed download of all media in a previous session. Is this a big problem?)
sapier sapier
Add propper client initialization
  -add client states to avoid server sending data to uninitialized clients
  -don't show uninitialized clients to other players
  -propper client disconnect handling
Minor comment fixes in server
Minor bugfixes in connection
  -improved peer id calculation
  -honor NDEBUG flag
  -improved disconnect handling
  -increased initial send window
Remove some dead code

@sapier sapier merged commit e258675 into minetest:master Jan 31, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.