Allow customising the delimiter of IPV6 IPs in the game log's join message, so script...
authorMario <mario.mario@y7mail.com>
Mon, 20 Jan 2020 02:32:16 +0000 (12:32 +1000)
committerMario <mario.mario@y7mail.com>
Mon, 20 Jan 2020 02:32:16 +0000 (12:32 +1000)
qcsrc/server/autocvars.qh
qcsrc/server/client.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/miscfunctions.qh
xonotic-server.cfg

index 8213aad..fec6d9a 100644 (file)
@@ -301,6 +301,7 @@ int autocvar_sv_eventlog_files_counter;
 string autocvar_sv_eventlog_files_nameprefix;
 string autocvar_sv_eventlog_files_namesuffix;
 bool autocvar_sv_eventlog_files_timestamps;
+string autocvar_sv_eventlog_ipv6_delimiter = ":";
 float autocvar_sv_friction_on_land;
 var float autocvar_sv_friction_slick = 0.5;
 float autocvar_sv_gameplayfix_q2airaccelerate = 1;
index d79c630..e0c1354 100644 (file)
@@ -1108,7 +1108,7 @@ void ClientConnect(entity this)
                CS(this).allowed_timeouts = autocvar_sv_timeout_number;
 
        if (autocvar_sv_eventlog)
-               GameLogEcho(strcat(":join:", ftos(this.playerid), ":", ftos(etof(this)), ":", ((IS_REAL_CLIENT(this)) ? this.netaddress : "bot"), ":", playername(this, false)));
+               GameLogEcho(strcat(":join:", ftos(this.playerid), ":", ftos(etof(this)), ":", ((IS_REAL_CLIENT(this)) ? GameLog_ProcessIP(this.netaddress) : "bot"), ":", playername(this, false)));
 
        CS(this).just_joined = true;  // stop spamming the eventlog with additional lines when the client connects
 
index 7f85278..fb0ef23 100644 (file)
@@ -84,6 +84,11 @@ void dedicated_print(string input)
        if (server_is_dedicated) print(input);
 }
 
+string GameLog_ProcessIP(string s)
+{
+       return strreplace(":", autocvar_sv_eventlog_ipv6_delimiter, s);
+}
+
 void GameLogEcho(string s)
 {
     string fn;
index a67920f..aa2f026 100644 (file)
@@ -74,6 +74,8 @@ string formatmessage(entity this, string msg);
 /** print(), but only print if the server is not local */
 void dedicated_print(string input);
 
+string GameLog_ProcessIP(string s);
+
 void GameLogEcho(string s);
 
 void GameLogInit();
index c7f12c4..63cff8f 100644 (file)
@@ -314,6 +314,7 @@ set sv_eventlog_files_timestamps 1 "include timestamps in the log file names"
 set sv_eventlog_files_counter 0 "internal counter cvar, do not modify"
 set sv_eventlog_files_nameprefix xonotic "prefix of individual log file names"
 set sv_eventlog_files_namesuffix .log "suffix of individual log file names"
+set sv_eventlog_ipv6_delimiter ":" "delimiter for IPV6 IPs, customisable to allow easier processing in scripts"
 
 set nextmap "" "override the maplist when switching to the next map"
 set lastlevel "" "for singleplayer use, shows the menu once the match has ended"