X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fipban.qc;h=b9ad08873ee005a5be54b9413a4adda6062fcb13;hb=17fd0adc9434cde385b78d09196aed727b24b9c4;hp=7b1f69384461b5d6f3c95e2e8c8054e24562279c;hpb=4f07f47fa93fb083cb44cba05a614b91b6ae9211;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/ipban.qc b/qcsrc/server/ipban.qc index 7b1f69384..b9ad08873 100644 --- a/qcsrc/server/ipban.qc +++ b/qcsrc/server/ipban.qc @@ -1,12 +1,11 @@ #include "ipban.qh" -#include -#include -#include "autocvars.qh" -#include "command/banning.qh" -#include "defs.qh" -#include "../common/constants.qh" -#include "../common/util.qh" +#include +#include +#include +#include +#include +#include /* * Protocol of online ban list: @@ -202,12 +201,21 @@ void OnlineBanList_Think(entity this) float i, n; if(autocvar_g_ban_sync_uri == "") - goto killme; + { + delete(this); + return; + } if(autocvar_g_ban_sync_interval == 0) // < 0 is okay, it means "sync on level start only" - goto killme; + { + delete(this); + return; + } argc = tokenize_console(autocvar_g_ban_sync_trusted_servers); if(argc == 0) - goto killme; + { + delete(this); + return; + } string s = argv(0); for(i = 1; i < argc; ++i) s = strcat(s, ";", argv(i)); strcpy(OnlineBanList_Servers, s); @@ -231,14 +239,13 @@ void OnlineBanList_Think(entity this) uri_get(strcat(argv(i), "?", uri), URI_GET_IPBAN + i); // 1000 = "banlist" callback target } - if(autocvar_g_ban_sync_interval > 0) - this.nextthink = time + max(60, autocvar_g_ban_sync_interval * 60); - else - goto killme; - return; + if(autocvar_g_ban_sync_interval <= 0) + { + delete(this); + return; + } -LABEL(killme) - delete(this); + this.nextthink = time + max(60, autocvar_g_ban_sync_interval * 60); } const float BAN_MAX = 256; @@ -445,9 +452,16 @@ bool Ban_MaybeEnforceBan(entity client) { if (Ban_IsClientBanned(client, -1)) { - string s = sprintf("^1NOTE:^7 banned client %s just tried to enter\n", client.netaddress); + if (!client.crypto_idfp) + LOG_INFOF("^1NOTE:^7 banned client %s just tried to enter\n", + client.netaddress); + else + LOG_INFOF("^1NOTE:^7 banned client %s (%s) just tried to enter\n", + client.netaddress, client.crypto_idfp); + + if(autocvar_g_ban_telluser) + sprint(client, "You are banned from this server.\n"); dropclient(client); - bprint(s); return true; } return false; @@ -479,7 +493,7 @@ string Ban_Enforce(float j, string reason) reason = strcat(reason, ", "); reason = strcat(reason, it.netname); } - s = strcat(s, "^1NOTE:^7 banned client ", it.netaddress, "^7 has to go\n"); + s = strcat(s, "^1NOTE:^7 banned client ", it.netname, "^7 has to go\n"); dropclient(it); } });