Skip to content

Commit 3d60f26

Browse files
authored
GameCMS Storage: Getting the server address from CVar (#275)
1 parent 4a483b7 commit 3d60f26

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

cstrike/addons/amxmodx/scripting/CA_Storage_GameCMS.sma

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ new Queue: g_queueLoad = Invalid_Queue,
3030
new g_serverID = -1
3131
new 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

9799
Create_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+
123138
Storage_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-
392406
GameCMS_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

Comments
 (0)