/*
* This server application requires steamclient.so to be present in the
* executable directory. This is not provided by vg system, it must be
- * downloaded via steamcmd. It will likely be somewhere in /usr/.steam/ ...
+ * downloaded via steamcmd. It will likely be somewhere in ~/.steam/ ...
*/
#define _DEFAULT_SOURCE
}
}
-static void handle_steam_callback( CallbackMsg_t *msg )
+static void on_auth_status( CallbackMsg_t *msg )
{
- if( msg->m_iCallback == k_iSteamNetConnectionStatusChangedCallBack )
- {
- SteamNetConnectionStatusChangedCallback_t *info = (void *)msg->m_pubParam;
- vg_info( " Connection status changed for %lu\n", info->m_hConn );
+ SteamNetAuthenticationStatus_t *info = (void *)msg->m_pubParam;
+ vg_info( " Authentication availibility: %s\n",
+ string_ESteamNetworkingAvailability(info->m_eAvail) );
+ vg_info( " %s\n", info->m_debugMsg );
+}
- vg_info( " %s -> %s\n",
- string_ESteamNetworkingConnectionState(info->m_info.m_eState),
- string_ESteamNetworkingConnectionState(info->m_eOldState) );
+static void on_connect_status( CallbackMsg_t *msg )
+{
+ SteamNetConnectionStatusChangedCallback_t *info = (void *)msg->m_pubParam;
+ vg_info( " Connection status changed for %lu\n", info->m_hConn );
- if( info->m_info.m_eState==k_ESteamNetworkingConnectionState_Connecting )
- {
- new_client_connecting( info->m_hConn );
- }
- }
- else if( msg->m_iCallback == k_iSteamNetAuthenticationStatus )
+ vg_info( " %s -> %s\n",
+ string_ESteamNetworkingConnectionState(info->m_info.m_eState),
+ string_ESteamNetworkingConnectionState(info->m_eOldState) );
+
+ if( info->m_info.m_eState==k_ESteamNetworkingConnectionState_Connecting )
{
- SteamNetAuthenticationStatus_t *info = (void *)msg->m_pubParam;
- vg_info( " Authentication availibility: %s\n",
- string_ESteamNetworkingAvailability(info->m_eAvail) );
- vg_info( " %s\n", info->m_debugMsg );
+ new_client_connecting( info->m_hConn );
}
}
int main( int argc, char *argv[] )
{
steamworks_ensure_txt( "2103940" );
-
signal( SIGINT, inthandler );
if( !vg_load_steam_symetric_key( "application_key", steam_symetric_key ) )
* Server code
*/
+ steam_register_callback( k_iSteamNetAuthenticationStatus, on_auth_status );
+ steam_register_callback( k_iSteamNetConnectionStatusChangedCallBack,
+ on_connect_status );
+
vg_success( "Steamworks API running\n" );
- steamworks_event_loop( hsteampipe, handle_steam_callback );
+ steamworks_event_loop( hsteampipe );
/*
* Create a listener
SteamAPI_ISteamHTTP_SendHTTPRequest( hSteamHTTP, test_req, &call1->id );
#endif
+ u64 server_ticks = 8000;
+
while( !sig_stop )
{
- steamworks_event_loop( hsteampipe, handle_steam_callback );
+ steamworks_event_loop( hsteampipe );
poll_connections();
usleep(100000);
+ server_ticks ++;
}
SteamAPI_ISteamNetworkingSockets_DestroyPollGroup( hSteamNetworkingSockets,