diff --git a/server.c b/server.c
index d6cbfcc3b3c07cb1670bb914466dd414dca5136d..5e4823451f706e01bb394d6312de50135bf40436 100644 (file)
--- a/server.c
+++ b/server.c
static void sv_recv() {
IPaddress address;
ProtocolMessage m;
- if(!RecvMessage(sock, &address, &m))
- return;
-
- switch(m.type) {
- case CL_INFO: sv_register_player(address, m); break;
- case CL_KILL: sv_kill_player(sv_find_client(address), false, ""); break;
- case CL_DOES: sv_move_player(sv_find_client(address), m); break;
- default: SDL_Log("invalid message %i", m.type);
+ while(RecvMessage(sock, &address, &m)) {
+ switch(m.type) {
+ case CL_INFO: sv_register_player(address, m); break;
+ case CL_KILL: sv_kill_player(sv_find_client(address), false, ""); break;
+ case CL_DOES: sv_move_player(sv_find_client(address), m); break;
+ default: SDL_Log("invalid message %i", m.type);
+ }
}
}