@@ -30,7 +30,8 @@ new Queue: g_queueLoad = Invalid_Queue,
3030new g_serverID = - 1
3131new g_gamecmsAdminId[MAX_PLAYERS + 1 ]
3232
33- new ca_storage_host[64 ],
33+ new ca_server_address[128 ],
34+ ca_storage_host[64 ],
3435 ca_storage_user[128 ],
3536 ca_storage_pass[128 ],
3637 ca_storage_dbname[128 ]
@@ -62,6 +63,7 @@ public _OnConfigsExecuted() {
6263 g_tuple = SQL_MakeDbTuple (ca_storage_host, ca_storage_user, ca_storage_pass, ca_storage_dbname)
6364 SQL_SetCharset (g_tuple, " utf8" )
6465
66+ ServerAddress_Check ()
6567 Storage_Create ()
6668}
6769
@@ -95,6 +97,12 @@ public client_disconnected(id) {
9597}
9698
9799Create_CVars () {
100+ bind_pcvar_string (create_cvar (" ca_server_address" , " " ,
101+ .description = " Server address in the GameCMS database"
102+ ),
103+ ca_server_address, charsmax (ca_server_address)
104+ )
105+
98106 bind_pcvar_string (create_cvar (" ca_storage_host" , " 127.0.0.1" , FCVAR_PROTECTED,
99107 .description = " GameCMS MySQL database host address"
100108 ),
@@ -120,6 +128,13 @@ Create_CVars() {
120128 )
121129}
122130
131+ ServerAddress_Check () {
132+ if (ca_server_address[0 ] != EOS)
133+ return
134+
135+ get_cvar_string (" net_address" , ca_server_address, charsmax (ca_server_address))
136+ }
137+
123138Storage_Create () {
124139 formatex (g_query, charsmax (g_query), " CREATE TABLE IF NOT EXISTS %s " , SQL_TBL_GAGS); {
125140 strcat (g_query, " ( bid int(6) NOT NULL AUTO_INCREMENT," , charsmax (g_query))
@@ -388,10 +403,9 @@ public handle_Removed(failstate, Handle: query, error[], errnum, data[], size, F
388403 ExecuteForward (g_fwd_StorageRemoved, g_ret)
389404}
390405
391-
392406GameCMS_GetServerID () {
393- new net_address[ 64 ]; get_cvar_string ( " net_address " , net_address, charsmax (net_address))
394- new serverAddress[ 2 ][ 32 ]; explode_string (net_address , " :" , serverAddress, sizeof (serverAddress), charsmax (serverAddress[]))
407+ new serverAddress[ 2 ][ 128 ]
408+ explode_string (ca_server_address , " :" , serverAddress, sizeof (serverAddress), charsmax (serverAddress[]))
395409
396410 formatex (g_query, charsmax (g_query), " SELECT id FROM servers WHERE servers.ip = '%s ' AND servers.port = '%s ' LIMIT 1;" ,
397411 serverAddress[0 ], serverAddress[1 ]
@@ -406,16 +420,15 @@ public handle_GetServerID(failstate, Handle: query, error[], errnum, data[], siz
406420 }
407421
408422 new bool: found = bool: (SQL_NumResults (query) != 0 )
409- new net_address[64 ]; get_cvar_string (" net_address" , net_address, charsmax (net_address))
410423
411424 if (! found) {
412- set_fail_state (" Server `%s ` not found on db." , net_address )
425+ set_fail_state (" Server `%s ` not found on db." , ca_server_address )
413426
414427 return
415428 }
416429
417430 g_serverID = SQL_ReadResult (query, 0 )
418- CA_Log (logLevel_Debug, " Found server `%s ` in db. ServerID=%i " , net_address , g_serverID)
431+ CA_Log (logLevel_Debug, " Found server `%s ` in db. ServerID=%i " , ca_server_address , g_serverID)
419432
420433 g_storageInitialized = true
421434 ExecuteForward (g_fwd_StorageInitialized, g_ret)
0 commit comments