X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=server.c;h=270e916c8c1a7e0a7bb335c6cba8477284f763bf;hb=6e6c7f31b8f17af3814727109e48fc6f85ef04b1;hp=d5d5d91f10291c708a6faa28c75ae27573a36f49;hpb=70792eeb23451cef1f3a103e0c9515b833f81899;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/server.c b/server.c index d5d5d91..270e916 100644 --- a/server.c +++ b/server.c @@ -11,11 +11,11 @@ #define _DEFAULT_SOURCE #include #include +#include volatile sig_atomic_t sig_stop; -void inthandler( int signum ) -{ +static void inthandler( int signum ) { sig_stop = 1; } @@ -28,6 +28,9 @@ void inthandler( int signum ) #include "network_msg.h" #include "highscores.h" +/* implementation */ +#include "highscores.c" + static const u64 k_connection_unauthorized = 0xffffffffffffffff; static void *hSteamHTTP, @@ -36,6 +39,7 @@ static void *hSteamHTTP, static u8 steam_symetric_key[ k_nSteamEncryptedAppTicketSymmetricKeyLen ]; static HSteamNetPollGroup client_pollgroup; +#if 0 static void recieve_http( void *callresult, void *context ) { HTTPRequestCompleted_t *result = callresult; @@ -55,6 +59,7 @@ static void recieve_http( void *callresult, void *context ) vg_free( buffer ); SteamAPI_ISteamHTTP_ReleaseHTTPRequest( hSteamHTTP, result->m_hRequest ); } +#endif static u64_steamid get_connection_authsteamid( SteamNetworkingMessage_t *msg ) { @@ -272,8 +277,7 @@ static void poll_connections(void) SteamNetworkingMessage_t *messages[32]; int len; - while(1) - { + while(1){ len = SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnPollGroup( hSteamNetworkingSockets, client_pollgroup, messages, vg_list_size(messages) ); @@ -281,12 +285,10 @@ static void poll_connections(void) if( len <= 0 ) return; - for( int i=0; im_cbSize < sizeof(netmsg_blank) ) - { + if( msg->m_cbSize < sizeof(netmsg_blank) ){ vg_warn( "Discarding message (too small: %d)\n", msg->m_cbSize ); continue; @@ -302,6 +304,10 @@ static void poll_connections(void) on_inet_set_nickname( msg ); else if( tmp->inetmsg_id == k_inetmsg_set_score ) on_inet_set_score( msg ); + else { + vg_warn( "Unknown inetmsg_id recieved from client. (%u)\n", + tmp->inetmsg_id ); + } SteamAPI_SteamNetworkingMessage_t_Release( msg ); } @@ -317,8 +323,7 @@ static void generate_boards(void) { FILE *fp = fopen( "www/html/srhighscores.txt", "w" ); - for( int i=0; idata, i, 10 ); @@ -335,7 +340,11 @@ int main( int argc, char *argv[] ) /* TODO: Options to override, ammend, remove etc */ + vg_set_mem_quota( 80*1024*1024 ); + vg_alloc_quota(); + highscores_init( 250000, 10000 ); + if( !highscores_read() ) highscores_create_db(); @@ -385,17 +394,6 @@ int main( int argc, char *argv[] ) client_pollgroup = SteamAPI_ISteamNetworkingSockets_CreatePollGroup( hSteamNetworkingSockets ); -#if 0 - HTTPRequestHandle test_req = SteamAPI_ISteamHTTP_CreateHTTPRequest( - hSteamHTTP, k_EHTTPMethodGET, - "https://www.harrygodden.com/hello.txt" ); - - steam_async *call1 = steam_new_async(); - call1->data = NULL; - call1->p_handler = recieve_http; - SteamAPI_ISteamHTTP_SendHTTPRequest( hSteamHTTP, test_req, &call1->id ); -#endif - u64 server_ticks = 8000, last_record_save = 8000, last_scoreboard_gen = 0; @@ -424,7 +422,6 @@ int main( int argc, char *argv[] ) } highscores_serialize_all(); - highscores_free(); SteamAPI_ISteamNetworkingSockets_DestroyPollGroup( hSteamNetworkingSockets, client_pollgroup );