Skip to content

Commit fa5beb9

Browse files
authored
Update clientcheckban setting to ban serial instead of IP (#502)
1 parent c733b69 commit fa5beb9

File tree

3 files changed

+54
-27
lines changed

3 files changed

+54
-27
lines changed

[admin]/admin/meta.xml

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -135,27 +135,46 @@
135135
desc="Duration options for the mute window. Comma seperated list in seconds. 0 means no duration limit."
136136
/>
137137

138-
<setting name="*securitylevel" value="2"
139-
friendlyname="Security level"
140-
group="_Advanced"
141-
accept="0-2"
142-
desc="Detect fake admin packets. 0-No checks 1-Some checks 2-All checks."
143-
/>
144-
145-
<setting name="*clientcheckban" value="false"
146-
friendlyname="clientcheckban"
147-
group="_Advanced"
148-
accept="true,false"
149-
desc="Ban IP's that attempt to send fake admin packets."
150-
/>
151-
152138
<setting name="*useip2c" value="true"
153139
friendlyname="useip2c"
154140
group="_Advanced"
155141
accept="true,false"
156142
desc="When enabled, admin will use the ip2c resource to determine players' countries by their IP."
157143
/>
158144

145+
<setting name="*fakePacketsIPban" value="false"
146+
friendlyname="IPBan"
147+
group="_fake packets"
148+
accept="true,false"
149+
desc="Ban IPs that attempt to send fake admin packets."
150+
/>
151+
152+
<setting name="*fakePacketsSerialban" value="false"
153+
friendlyname="Serialban"
154+
group="_fake packets"
155+
accept="true,false"
156+
desc="Ban serials that attempt to send fake admin packets."
157+
/>
158+
159+
<setting name="*fakePacketsIPbanLength" value="86400"
160+
friendlyname="IPBan length"
161+
group="_fake packets"
162+
desc="Set ban length for IPBan in seconds. Set to 0 for a permanent ban."
163+
/>
164+
165+
<setting name="*fakePacketsSerialbanLength" value="86400"
166+
friendlyname="Serialban length"
167+
group="_fake packets"
168+
desc="Set ban length for Serialban in seconds. Set to 0 for a permanent ban."
169+
/>
170+
171+
<setting name="*securitylevel" value="2"
172+
friendlyname="Security level"
173+
group="_fake packets"
174+
accept="0-2"
175+
desc="Detect fake admin packets. 0-No checks 1-Some checks 2-All checks."
176+
/>
177+
159178
<setting name="*maxchatmsgs" value="10"
160179
friendlyname="Max chat log messages"
161180
accept="1-1000"
@@ -171,10 +190,11 @@
171190
friendlyname="Player report categories"
172191
desc="List of report categories for reporting players."
173192
/>
174-
<setting name="*adminChatCommandName" value="a"
175-
friendlyname="Admin chat command name"
176-
desc="The command name for admin chat."
177-
/>
193+
194+
<setting name="*adminChatCommandName" value="a"
195+
friendlyname="Admin chat command name"
196+
desc="The command name for admin chat."
197+
/>
178198

179199
</settings>
180200
</meta>

[admin]/admin/server/admin_server.lua

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1670,11 +1670,15 @@ function checkClient(checkAccess,player,...)
16701670
if client and client ~= player then
16711671
local desc = table.concat({...}," ")
16721672
local ipAddress = getPlayerIP(client)
1673+
local playerSerial = getPlayerSerial(client)
1674+
local banReason = "admin checkClient (" .. tostring(desc) .. ")"
16731675
outputDebugString( "Admin security - Client/player mismatch from " .. tostring(ipAddress) .. " (" .. tostring(desc) .. ")", 1 )
16741676
cancelEvent()
1675-
if g_Prefs.clientcheckban then
1676-
local reason = "admin checkClient (" .. tostring(desc) .. ")"
1677-
addBan ( ipAddress, nil, nil, root, reason )
1677+
if g_Prefs.fakePacketsIPban then
1678+
addBan ( ipAddress, nil, nil, root, banReason, g_Prefs.fakePacketsIPbanLength )
1679+
end
1680+
if g_Prefs.fakePacketsSerialban then
1681+
addBan ( nil, nil, playerSerial, root, banReason, g_Prefs.fakePacketsSerialbanLength )
16781682
end
16791683
return true
16801684
end

[admin]/admin/server/admin_serverprefs.lua

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@
1313
---------------------------------------------------------------------------
1414
function cachePrefs()
1515
g_Prefs = {}
16-
g_Prefs.maxmsgs = getNumber('maxmsgs',99)
17-
g_Prefs.bandurations = getString('bandurations','60,3600,43200,0')
18-
g_Prefs.mutedurations = getString('mutedurations','60,120,300,600,0')
16+
g_Prefs.maxmsgs = getNumber('maxmsgs',99)
17+
g_Prefs.bandurations = getString('bandurations','60,3600,43200,0')
18+
g_Prefs.mutedurations = getString('mutedurations','60,120,300,600,0')
1919
g_Prefs.reportCategories = getString('reportCategories','Question,Suggestion,Other')
2020
g_Prefs.playerReportCategories = getString('playerReportCategories','Cheater/Modder,Spammer')
21-
g_Prefs.clientcheckban = getBool('clientcheckban',false)
22-
g_Prefs.securitylevel = getNumber('securitylevel',2)
23-
g_Prefs.maxchatmsgs = getNumber('maxchatmsgs',10)
21+
g_Prefs.fakePacketsIPban = getBool('fakePacketsIPban',false)
22+
g_Prefs.fakePacketsSerialban = getBool('fakePacketsSerialban',false)
23+
g_Prefs.fakePacketsIPbanLength = getNumber('fakePacketsIPbanLength',86400)
24+
g_Prefs.fakePacketsSerialbanLength = getNumber('fakePacketsSerialbanLength',86400)
25+
g_Prefs.securitylevel = getNumber('securitylevel',2)
26+
g_Prefs.maxchatmsgs = getNumber('maxchatmsgs',10)
2427
triggerClientEvent( root, "onClientUpdatePrefs", resourceRoot, g_Prefs )
2528
end
2629

0 commit comments

Comments
 (0)