ETMods.net

N!tmod, a Wolfenstein: Enemy Territory Modification!

You are not logged in.

Announcement

You can donate to help us keeping services online.

#1 18-Dec-23 13:37:47

Drago
Member
Registered: 07-May-23
Posts: 19

We need a better cheat protection.

Hi

Currently there is a cheater taunting the servers!
It is able to change everything except the first 6 digits of its MAC number: 00-20-18.
Here are the 3 times he was banned.
Unfortunately, he comes back as he wishes.
Is it possible to improve "NxAC"?

Name:   SantaClaus
Level:  0
NGUID:  QF5AC26006EF2A4C4D45AA343851F0PH
UserID: 3851F0PH
IP:     217.146.xxxxxx
MAC:    00-20-18-3E-72-81
Seen:   1 days ago.

/////////////////////////////////////////////////////////////////

Name:   Deploy mortar?
Level:  0
NGUID:  CA6451A0411080142FB49AF2621F36CE
UserID: 621F36CE
IP:     162.220.xxxxxxx
MAC:    00-20-18-BD-A8-C6
Seen:   16 hours ago.

/////////////////////////////////////////////////////////////////

Name:   Follow Me
Level:  0
NGUID:  AB92EDF5188EF883225AE90AA98C32CE
UserID: A98C32CE
IP:     188.172.xxxxxxx
MAC:    00-20-18-CD-F5-21
Seen:   20 hours ago.

Offline

#2 19-Dec-23 17:13:45

C!es..
BETA Tester
From: Poland
Registered: 10-Jan-13
Posts: 84
Website

Re: We need a better cheat protection.

Hello

I have the same problem with the same person, I also noticed that he doesn't know his mac address

I wonder what can be done about this problem

Offline

#3 20-Dec-23 02:51:51

Drago
Member
Registered: 07-May-23
Posts: 19

Re: We need a better cheat protection.

Here are the 9 times he was banned.

The key is the first 6 digits of the MAC: 00-20-18. When a player arrives on the server I do !finger +player nickname and this displays their information. I look at the MAC line and if I see 00-20-18, I ban it directly. I conclude that cheating software can be countered if a good computer scientist looks into the subject. The MAC: 00-20-18 is what Nxac needs to detect and ban automatically. It can't be just a coincidence.

01:26:45:> !userinfo C073FAPH
-----------------------------
Name:   Centra
Level:  0
NGUID:  EA44CE6E102500D2B3CEC755C073FAPH
UserID: C073FAPH
IP:     81.83.181.152
MAC:    00-20-18-BC-81-AC
Seen:   9 months ago.


01:29:30:> !userinfo D4CE55PH
-----------------------------
Name:   SantaClaus
Level:  0
NGUID:  WZD5EB22F3AEBA07354CA9F1D4CE55PH
UserID: D4CE55PH
IP:     217.146.29.77
MAC:    00-20-18-FC-35-13
Seen:   2 days ago.


01:30:28:> !userinfo 3851F0PH
-----------------------------
Name:   SantaClaus
Level:  0
NGUID:  QF5AC26006EF2A4C4D45AA343851F0PH
UserID: 3851F0PH
IP:     217.146.29.77
MAC:    00-20-18-3E-72-81
Seen:   3 days ago.


01:30:51:> !userinfo AE9C14PH
-----------------------------
Name:   sululu
Level:  0
NGUID:  AMBB542508353F868A0CC1B2AE9C14PH
UserID: AE9C14PH
IP:     178.211.131.72
MAC:    00-20-18-41-69-C3
Seen:   2 days ago.


01:31:50:> !userinfo A98C32CE
-----------------------------
Name:   Follow Me
Level:  0
NGUID:  AB92EDF5188EF883225AE90AA98C32CE
UserID: A98C32CE
IP:     188.172.220.72
MAC:    00-20-18-CD-F5-21
Seen:   2 days ago.


01:32:59:> !userinfo 621F36CE
-----------------------------
Name:   Deploy mortar?
Level:  0
NGUID:  CA6451A0411080142FB49AF2621F36CE
UserID: 621F36CE
IP:     162.220.220.133
MAC:    00-20-18-BD-A8-C6
Seen:   2 days ago.


01:33:31:> !userinfo A43233PH
-----------------------------
Name:   lo necesitas para el banjo?
Level:  0
NGUID:  QD5C7C6C47F918A924D6C578A43233PH
UserID: A43233PH
IP:     208.78.41.2
MAC:    00-20-18-1C-5A-FA
Seen:   6 hours ago.


01:33:58:> !userinfo CCD81FPH
-----------------------------
Name:   .
Level:  0
NGUID:  VZ6F86D693A714109B4ACFFBCCD81FPH
UserID: CCD81FPH
IP:     86.87.118.180
MAC:    00-20-18-7F-D1-FE
Seen:   3 days ago.


01:34:26:> !userinfo 71EAB9UK
-----------------------------
Name:   Gniazdek
Level:  0
NGUID:  FA22DD06A3239704CDA4364D71EAB9UK
UserID: 71EAB9UK
IP:     91.90.182.194
MAC:    00-20-18-6F-DD-1D
Seen:   44 mins ago.

Offline

#4 23-Dec-23 22:09:46

Doc
BETA Tester
Registered: 23-Feb-11
Posts: 30
Website

Re: We need a better cheat protection.

Good evening,

There may be a solution with a .lua script.

However, this will kick everyone where the mac address starts with "00-20-18".

When a player connects to the server there is a log of it. In this log we have something like: "Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\FA22DD06A3239704CDA4364D71EAB9UK\x\000-20-18-6F-DD-1D.

It is possible to extract the mac address from that.

If we extract it, we can therefore kick the player as soon as he connects.

I don't know if this is a good method at all, but it could be a workaround. To see with a mod expert.

I tested from a local server (windows). I was kicked as soon as I connected. To be checked on a “real” server.

kick_by_mac.lua :

-- Fonction pour vérifier si l'adresse MAC commence par la chaîne spécifiée
function starts_with(str, start)
   return str and str:sub(1, #start) == start
end

function extractMacAddress(userinfo)
   -- Extraire l'adresse MAC du userinfo.
   local _, _, macAddress = string.find(userinfo, "\\x\\([%w%-]+)\\")
   
   return macAddress or "N/A"
end

function et_ClientConnect(clientNum, firstTime, isBot)
   local userinfo = et.trap_GetUserinfo(clientNum)
   
   -- Get adresse MAC du userinfo.
   local macAddress = extractMacAddress(userinfo)

   -- DEBUG : Afficher l'adresse mac
   -- et.G_Print("Adresse MAC du joueur connecté : " .. macAddress .. "\n")
   
   -- Vérifier si l'adresse MAC commence par "00-20-18"
   if starts_with(macAddress, "00-20-18") then
      -- Si oui, kicker le joueur
      et.trap_DropClient(clientNum, "Kicked by admin", 600) -- kick for 10 mins
   else
      et.G_Print("MAC : " .. (macAddress or "N/A") .. "\n")
   end
end

Last edited by Doc (23-Dec-23 22:10:13)

Offline

#5 28-Dec-23 14:54:32

Drago
Member
Registered: 07-May-23
Posts: 19

Re: We need a better cheat protection.

Merci l'ami! I install it immediately. If it works , then you will have achieved the feat of blocking the most terrible cheat software. I will come and let you know if it works or not. Thanks again.

Offline

#6 29-Dec-23 14:01:46

Drago
Member
Registered: 07-May-23
Posts: 19

Re: We need a better cheat protection.

I didn't have the opportunity to check if it worked but I know that a mutual acquaintance tested it and he let me know that it worked wonderfully. Besides, it was he who found the MAC flaw: 00-20-18-xx-xx-xx. You have no idea how much service you have just done to our game by neutralizing the cheat of the moment. It made me happy that you came to visit us on the server. You are now an honorary admin. The forum is lucky and more broadly the "WET" community to have a member like you. I sincerely thank you Mr Doc.

Offline

#7 03-Jan-24 14:19:29

jay1110
BETA Tester
Registered: 01-Sep-12
Posts: 239
Website

Re: We need a better cheat protection.

works fine, thank you!

edit:
no, he still connect with that mac adress 00-20-18 even if its blocked.

Last edited by jay1110 (05-Jan-24 11:44:36)

Offline

#8 20-Jan-24 14:02:43

Doc
BETA Tester
Registered: 23-Feb-11
Posts: 30
Website

Re: We need a better cheat protection.

Hello,

Use this version :

-- Fonction pour vérifier si l'adresse MAC commence par la chaîne spécifiée
function starts_with(str, start)
   return str and str:sub(1, #start) == start
end

function extractMacAddress(userinfo)
   -- Extraire l'adresse MAC du userinfo.
   local _, _, macAddress = string.find(userinfo, "\\x\\([%w%-]+)\\")
   
   return macAddress or "N/A"
end

local timers = {} -- Tableau pour stocker les temporisateurs
local macAddressesToCheck = {"AA-BB-CC", "DD-EE-FF"} -- Ajoutez autant d'adresses MAC que nécessaire

function setTimer(clientNum, delay)
   local timer = {
      startTime = et.trap_Milliseconds(),
      delay = delay,
      clientNum = clientNum
   }
   table.insert(timers, timer)
end

function checkMacAddress(clientNum)
   local userinfo = et.trap_GetUserinfo(clientNum)
   
   -- Get adresse MAC du userinfo.
   local macAddress = extractMacAddress(userinfo)

   -- DEBUG : Afficher l'adresse mac
   -- et.G_Print("Adresse MAC du joueur connecté : " .. macAddress .. "\n")

   -- Vérifier si l'adresse MAC est dans la liste des adresses à vérifier
   for _, allowedMAC in ipairs(macAddressesToCheck) do
      if starts_with(macAddress, allowedMAC) then
         -- Si oui, kicker le joueur
         et.trap_DropClient(clientNum, "Kicked by admin", 600) -- kick for 10 mins
         return -- Sortir de la boucle dès qu'une correspondance est trouvée
      end
   end

   -- et.G_Print("MAC : " .. (macAddress or "N/A") .. "\n")
end

function checkTimers(levelTime)
   local i = 1
   while i <= #timers do
      local timer = timers[i]
      if levelTime - timer.startTime >= timer.delay then
         checkMacAddress(timer.clientNum)
         table.remove(timers, i)
      else
         i = i + 1
      end
   end
end

function et_ClientConnect(clientNum, firstTime, isBot)
   -- Enregistrer un temporisateur pour retarder l'exécution de la vérification de l'adresse MAC
   setTimer(clientNum, 100)
   -- et.G_Print("Vérification de l'adresse MAC dans 100 millisecondes...\n")
end

function et_ClientUserinfoChanged(clientNum)
   -- Cette fonction sera appelée lorsque les informations sur l'utilisateur changent
   checkMacAddress(clientNum)
end

function et_RunFrame(levelTime)
   -- Cette fonction est appelée à chaque frame
   checkTimers(levelTime)
end

Offline

#9 22-Jan-24 23:30:35

C!es..
BETA Tester
From: Poland
Registered: 10-Jan-13
Posts: 84
Website

Re: We need a better cheat protection.

Hello, Theoretically, the script works, but when the individual 00-20-18-0D-61-E4 appeared with this address, the server kicked him out, but his character remained and when he was killed, the server crashed


After kicking from the server, the username changes to unnamed player and there is a disconnection and the player joins the game and hangs on the map, joins after kick As axis when we kill him, the server crashes


1050:54 -8<------- Crash Information ------->8-
1050:54 Version: 2.3.5 Feb 14 2023 Linux linux-x86_64
1050:54 Build type: Release
1050:54 Map: fragmaze_fixed
1050:54 Omnibot: 1
1050:54 NumEntities: 469
1050:54 Uptime: 0 D 17 H 30 M
1050:54 LUA Modules: banners.lua autopromo.lua rspree.lua ETWsk.lua custom_time.lua rename.lua dynamite.lua rangi.lua balance.lua kbm.lua
1050:54 Signal: Segmentation fault (11)
1050:54 Siginfo: 0x7ffc9bfec4f0
1050:54 Code: 1
1050:54 Faulting Memory Ref/Instruction: 0x7f91cc9cfe10
1050:54 Stack frames: 26 entries
1050:54 Backtrace:
1050:54 (1) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0xfdfd0) [0x7f8dc9ba2fd0]
1050:54 (2) /lib/x86_64-linux-gnu/libpthread.so.0(+0x12730) [0x7f8df6adf730]
1050:54 (3) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0xfdfd0) [0x7f8dc9ba2fd0]
1050:54 (4) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0xfe67a) [0x7f8dc9ba367a]
1050:54 (5) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x64c37) [0x7f8dc9b09c37]
1050:54 (6) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x650fd) [0x7f8dc9b0a0fd]
1050:54 (7) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x8325e) [0x7f8dc9b2825e]
1050:54 (8) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x106343) [0x7f8dc9bab343]
1050:54 (9) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x10693a) [0x7f8dc9bab93a]
1050:54 (10) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x10963f) [0x7f8dc9bae63f]
1050:54 (11) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5a214) [0x7f8dc9aff214]
1050:54 (12) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5b71a) [0x7f8dc9b0071a]
1050:54 (13) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5bc64) [0x7f8dc9b00c64]
1050:54 (14) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5856f) [0x7f8dc9afd56f]
1050:54 (15) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5ce34) [0x7f8dc9b01e34]
1050:54 (16) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(vmMain+0x1e7) [0x7f8dc9b3d7d7]
1050:54 (17) .() [0x453108]
1050:54 (18) .() [0x46365b]
1050:54 (19) .() [0x463b11]
1050:54 (20) .() [0x41e00f]
1050:54 (21) .() [0x443274]
1050:54 (22) .() [0x443596]
1050:54 (23) .() [0x41fddd]
1050:54 (24) .() [0x40d96d]
1050:54 (25) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f8df693109b]
1050:54 (26) .() [0x40d9ac]
1050:54 -8<--------------------------------->8-

1050:54 Attempting to clean up.


The last log from the console:

63040950 Item: 15 item_health
63041100 Item: 1 weapon_mp40
63041150 Item: 6 weapon_mp40
63041300 Item: 15 weapon_mp40
63041400 Kill: 13 4 9: ^3B^7ao^3O killed rzeczek by MOD_THOMPSON
63041550 Item: 5 item_health
63042150 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\AE4B15DB127EAB3BE41627F8F64E63CE\x\00-20-18-B3-9C-44\build\win-x86\cg_uinfo\15 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\E4B6A262D8D5FA82D8E21354F3397650\name\Tanjirou\rate\5000\snaps\20\cl_wwwDownload\1\cl_anonymous\0\cl_punkbuster\1\ip\193.176.86.134:27960
63042150 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\AE4B15DB127EAB3BE41627F8F64E63CE\x\00-20-18-B3-9C-44\build\win-x86\cg_uinfo\15 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\E4B6A262D8D5FA82D8E21354F3397650\name\Tanjirou\rate\5000\snaps\20\cl_wwwDownload\1\cl_anonymous\0\cl_punkbuster\1\ip\193.176.86.134:27960
63042150 ClientBegin: 19
63042500 Item: 5 item_health
63042550 Kill: 8 15 8: ^3TheBestK43dontRunGay killed ^0d^dp^0s^d*^0Ada^dmit^0to by MOD_MP40
63043150 Kill: 2 13 13: Cinek PL killed ^3B^7ao^3O by MOD_FG42
63043800 Item: 8 weapon_mp40
63044000 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\ABFB15348FB8D3FE8AB21993E52577CE\x\F0-2F-74-52-39-C6\build\win-x86\cg_uinfo\13 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\unknown\cl_punkbuster\0\cl_anonymous\1\snaps\20\rate\25000\name\^0d^dp^0s^d*^0Ada^dmit^0to\cl_wwwDownload\1\ip\46.205.194.233:13312\v_rsprees\1
63044250 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\AE4B15DB127EAB3BE41627F8F64E63CE\x\00-20-18-B3-9C-44\build\win-x86\cg_uinfo\15 0 30\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\E4B6A262D8D5FA82D8E21354F3397650\name\Tanjirou\rate\5000\snaps\20\cl_wwwDownload\1\cl_anonymous\0\cl_punkbuster\1\ip\193.176.86.134:27960
63044300 Kill: 1 2 8: ^7chuj wafel^0. killed Cinek PL by MOD_MP40
63044500 Item: 8 item_health
63044550 Kill: 12 16 8: ^2Sub^6Zero killed ^2DEMON by MOD_MP40
63044650 Item: 8 item_health
63045000 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\QI3EE8471633AB92CE6942917A185BPH\x\54-EE-75-CC-A1-5E\build\win-x86\cg_uinfo\13 0 100\etVersion\ET 2.60b win-x86 Jul 20 2021\g_password\none\cl_guid\A7B6286C65E846CFA63590BD33CB647C\cl_anonymous\0\snaps\20\rate\25000\name\rzeczek\cl_wwwDownload\1\ip\195.136.19.32:27960
63045350 Item: 8 item_health
63045850 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\QWC6389228B86F8EA2505792C24E30PH\x\4C-CC-6A-07-CC-48\build\win-x86\cg_uinfo\36 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\4888284D05114A3F3159C94DD3BAD26D\cl_wwwDownload\1\name\^3TheBestK43dontRunGay\rate\25000\snaps\20\cl_anonymous\0\cl_punkbuster\1\ip\213.134.166.98:45020
63046000 Item: 1 item_health
63046250 Item: 1 item_health
63046400 Item: 17 weapon_mp40
63046400 Item: 8 item_health
63046450 Item: 1 item_health
63046450 Kill: 14 12 8: ^)^)^)^0|^#P^*s^0|^$Int^)^$ens^$ killed ^2Sub^6Zero by MOD_MP40
63047350 Item: 15 weapon_mp40
63047350 Kill: 1 17 8: ^7chuj wafel^0. killed ^0|^cP^7s^0|^clonely^0wolf^1. by MOD_MP40
63049100 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\AE4B15DB127EAB3BE41627F8F64E63CE\x\00-20-18-B3-9C-44\build\win-x86\cg_uinfo\15 0 30\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\E4B6A262D8D5FA82D8E21354F3397650\name\Tanjirou\rate\5000\snaps\20\cl_wwwDownload\1\cl_anonymous\0\cl_punkbuster\1\ip\193.176.86.134:27960
63049100 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\AE4B15DB127EAB3BE41627F8F64E63CE\x\00-20-18-B3-9C-44\build\win-x86\cg_uinfo\15 0 30\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\E4B6A262D8D5FA82D8E21354F3397650\name\Tanjirou\rate\5000\snaps\20\cl_wwwDownload\1\cl_anonymous\0\cl_punkbuster\1\ip\193.176.86.134:27960
63049100 ClientBegin: 19
63050850 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\QWC6389228B86F8EA2505792C24E30PH\x\4C-CC-6A-07-CC-48\build\win-x86\cg_uinfo\4 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\4888284D05114A3F3159C94DD3BAD26D\cl_wwwDownload\1\name\^3TheBestK43dontRunGay\rate\25000\snaps\20\cl_anonymous\0\cl_punkbuster\1\ip\213.134.166.98:45020
63051200 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\AE4B15DB127EAB3BE41627F8F64E63CE\x\00-20-18-B3-9C-44\build\win-x86\cg_uinfo\15 0 30\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\E4B6A262D8D5FA82D8E21354F3397650\name\Tanjirou\rate\5000\snaps\20\cl_wwwDownload\1\cl_anonymous\0\cl_punkbuster\1\ip\193.176.86.134:27960
63051200 ClientUserinfoChanged: 19 n\Tanjirou\t\1\mu\0\rf\0\c\0\r\0\m\0000000\s\0000000\dn\\dr\0\w\3\lw\3\sw\2\rn\0\lc\1\xp\0 0 0 0 0 0 0 \u\246\sc\0\tv\0
63051200 | [XPSave::WriteXP] Client 19 (Tanjirou) XP Saved.
63051200 WeaponStats: 19 0 0 0
63051200 ClientDisconnect: 19
63051200 Userinfo:
63051200 ClientUserinfoChanged: 19 n\UnnamedPlayer\t\0\mu\0\rf\0\c\1\r\0\m\0000000\s\0000000\dn\\dr\0\w\3\lw\3\sw\2\rn\0\lc\1\xp\0 0 0 0 0 0 0 \u\246\sc\0\tv\0
63051200 Userinfo:
63051200 ClientBegin: 19
63051750 Kill: 15 6 9: ^0d^dp^0s^d*^0Ada^dmit^0to killed ^ddamianos by MOD_THOMPSON
63052000 Item: 1 item_health
63052600 Item: 15 weapon_mp40
63052800 Item: 3 weapon_kar98Rifle
63052950 Item: 15 item_health
63052950 Item: 15 item_health
63052950 Item: 15 item_health
63053250 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\ZZ8918B0DB41FB21FC3770E2BAE3F8VZ\x\D8-BB-C1-15-17-F2\build\win-x86\cg_uinfo\13 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\813637E3E69D73ECDC5421F62E4E5A87\cl_wwwDownload\1\name\^A^^A|^3*^X?^n*^X*^3/^7Adi*^A/-^3**\rate\25000\snaps\20\cl_anonymous\0\cl_punkbuster\1\ip\5.173.155.20:15093\v_rsprees\1
63053250 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\ZZ8918B0DB41FB21FC3770E2BAE3F8VZ\x\D8-BB-C1-15-17-F2\build\win-x86\cg_uinfo\13 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\813637E3E69D73ECDC5421F62E4E5A87\cl_wwwDownload\1\name\^A^^A|^3*^X?^n*^X*^3/^7Adi*^A/-^3**\rate\25000\snaps\20\cl_anonymous\0\cl_punkbuster\1\ip\5.173.155.20:15093\v_rsprees\1
63053250 ClientBegin: 0
63054000 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\ZZC9A11AC46D93FE47A2249B1D7AE9PZ\x\D4-5D-64-61-D9-05\build\win-x86\cg_uinfo\14 0 100\etVersion\ET 2.60b win-x86 May  8 2006\g_password\none\cl_guid\D83F1B91FAF70C03D9581D3B23F10464\cl_wwwDownload\1\name\^3B^7ao^3O\rate\25000\snaps\20\cl_anonymous\0\cl_punkbuster\1\ip\77.254.77.234:27960\v_rsprees\1
63054000 Userinfo: \cg_etVersion\Enemy Territory, ET 2.60\n_guid\EFC0543150B1A749ACC7C1BF9C8293PH\x\F4-6D-04-89-00-9C\build\win-x86\cg_uinfo\13 0 100\g_password\none\cl_guid\99C096DE7FD4618902F704A9D1E1B757\etVersion\ET Legacy v2.81.1 win-x86 Mar 12 2023\cl_wwwDownload\1\cg_allowGeoIP\0\snaps\20\rate\25000\name\^2DEMON\ip\89.186.0.158:27123
63054200 Kill: 8 19 8: ^3TheBestK43dontRunGay killed UnnamedPlayer by MOD_MP40            <----------------------------------------------------------- this kill end crash server
63054500 -8<------- Crash Information ------->8-
63054500 Version: 2.3.5 Feb 14 2023 Linux linux-x86_64
63054500 Version: 2.3.5 Feb 14 2023 Linux linux-x86_64
63054500 Build type: Release
63054500 Map: fragmaze_fixed
63054500 Omnibot: 1
63054500 NumEntities: 469
63054500 Uptime: 0 D 17 H 30 M
63054500 LUA Modules: banners.lua autopromo.lua rspree.lua ETWsk.lua custom_time.lua rename.lua dynamite.lua rangi.lua balance.lua kbm.lua
63054500 Signal: Segmentation fault (11)
63054500 Siginfo: 0x7ffc9bfec4f0
63054500 Code: 1
63054500 Faulting Memory Ref/Instruction: 0x7f91cc9cfe10
63054500 Stack frames: 26 entries
63054500 Backtrace:
63054500 (1) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0xfdfd0) [0x7f8dc9ba2fd0]
63054500 (2) /lib/x86_64-linux-gnu/libpthread.so.0(+0x12730) [0x7f8df6adf730]
63054500 (3) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0xfdfd0) [0x7f8dc9ba2fd0]
63054500 (4) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0xfe67a) [0x7f8dc9ba367a]
63054500 (5) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x64c37) [0x7f8dc9b09c37]
63054500 (6) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x650fd) [0x7f8dc9b0a0fd]
63054500 (7) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x8325e) [0x7f8dc9b2825e]
63054500 (8) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x106343) [0x7f8dc9bab343]
63054500 (9) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x10693a) [0x7f8dc9bab93a]
63054500 (10) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x10963f) [0x7f8dc9bae63f]
63054500 (11) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5a214) [0x7f8dc9aff214]
63054500 (12) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5b71a) [0x7f8dc9b0071a]
63054500 (13) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5bc64) [0x7f8dc9b00c64]
63054500 (14) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5856f) [0x7f8dc9afd56f]
63054500 (15) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(+0x5ce34) [0x7f8dc9b01e34]
63054500 (16) /home/wetserver/serverfiles/nitmod/qagame.mp.x86_64.so(vmMain+0x1e7) [0x7f8dc9b3d7d7]
63054500 (17) .() [0x453108]
63054500 (18) .() [0x46365b]
63054500 (19) .() [0x463b11]
63054500 (20) .() [0x41e00f]
63054500 (21) .() [0x443274]
63054500 (22) .() [0x443596]
63054500 (23) .() [0x41fddd]
63054500 (24) .() [0x40d96d]
63054500 (25) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f8df693109b]
63054500 (26) .() [0x40d9ac]
63054500 -8<--------------------------------->8-

63054500 Attempting to clean up.
63054500 | [XPSave::WriteXP] Client 7 (^0fryzjeR) XP Saved.
63054500 | [XPSave::WriteXP] Client 14 (^)^)^)^0|^#P^*s^0|^$Int^)^$ens^$) XP Saved.
63054500 | [XPSave::WriteXP] Client 2 (Cinek PL) XP Saved.
63054500 | [XPSave::WriteXP] Client 8 (^3TheBestK43dontRunGay) XP Saved.
63054500 | [XPSave::WriteXP] Client 15 (^0d^dp^0s^d*^0Ada^dmit^0to) XP Saved.
63054500 | [XPSave::WriteXP] Client 17 (^0|^cP^7s^0|^clonely^0wolf^1.) XP Saved.
63054500 | [XPSave::WriteXP] Client 13 (^3B^7ao^3O) XP Saved.
63054500 | [XPSave::WriteXP] Client 6 (^ddamianos) XP Saved.
63054500 | [XPSave::WriteXP] Client 16 (^2DEMON) XP Saved.
63054500 | [XPSave::WriteXP] Client 3 (martari) XP Saved.
63054500 | [XPSave::WriteXP] Client 12 (^2Sub^6Zero) XP Saved.
63054500 | [XPSave::WriteXP] Client 4 (rzeczek) XP Saved.
63054500 | [XPSave::WriteXP] Client 1 (^7chuj wafel^0.) XP Saved.
63054500 | [XPSave::WriteXP] Client 5 (Norther) XP Saved.
63054500 | [XPSave::WriteXP] Client 9 (HansGeorg) XP Saved.
63054500 | [XPSave::WriteXP] Client 10 (FunKy_KoVaL) XP Saved.
63054500 | [XPSave::WriteXP] Client 11 (^0|^cP^7s^0|C!^ce^vs^0..) XP Saved.
63054500 | [XPSave::WriteXP] Client 18 (^2^3^1Y^5eti) XP Saved.
63054500 | [XPSave::WriteXP] Client 0 (^A^^A|^3*^X?^n*^X*^3/^7Adi*^A/-^3**) XP Saved.
63054500 | Saved 36662 users (0 updated, 0 added, 0 removed)
63054500 | Saved 75 bans (0 added, 0 removed)
63054500 | Saved 3 mutes (0 added, 0 removed)
63054500 | [SQLite::CloseDatabase] Done
63054500 Shutting down: banners
63054500 Lua API: Lua module [banners.lua] [F901DA2F019D942F47D94D1AE97F32DD4CA32BD5] unloaded.
63054500 Lua API: Lua module [autopromo.lua] [078CD1A3752CD9C5196E82064DE00BD58F8B530E] unloaded.
63054500 Lua API: Lua module [rspree.lua] [4200C4C8A733366E7F22A5D075AC91012C488D1B] unloaded.
63054500 Lua API: Lua module [ETWsk.lua] [BF1D31CCB3733FE1046D9A45185E5A208E1A3A05] unloaded.
63054500 Lua API: Lua module [custom_time.lua] [23047808F5C03F39FA87A1996F6428E7BCC86CE0] unloaded.
63054500 Lua API: Lua module [rename.lua] [C6AB6636C596348284FDC2EC6FD498AD058D27D1] unloaded.
63054500 Lua API: Lua module [dynamite.lua] [A0C6BAFA79C9BF15E029A7843764A1D295C452A0] unloaded.
63054500 Lua API: Lua module [rangi.lua] [1030C5641E94A7793FBCAF69526C835F21A25E9E] unloaded.
63054500 Lua API: Lua module [balance.lua] [FC66738395642E8729544D78C495ADBAC051CF3C] unloaded.
63054500 Lua API: Lua module [kbm.lua] [9D9823D438766484FB280D8BDEA06B1191D156FE] unloaded.
63054500 ==== ShutdownGame ====
63054500 Server attack log closed
63054500 ----- Server Shutdown (Received signal 11) -----
63054500 Sending heartbeat to etmaster.idsoftware.com
63054500 Sending heartbeat to master.etlegacy.com
63054500 Sending heartbeat to master3.idsoftware.com
63054500 Sending heartbeat to wolfmaster.idsoftware.com
63054500 Sending heartbeat to master0.etmaster.net
63054500 ! [SQLite::CloseDatabase] ERROR: bad parameter or other API misuse
63054500 ==== ShutdownGame ====
63054500 ^2<EndGame>
63054500 ^2-- Script System Info --
63054500 ^2Current Memory Usage 1.76579 MB
63054500 ^2Soft Memory Usage 1.8 MB
63054500 ^2Hard Memory Limit 2 MB
63054500 ^2System Memory Usage 1.81402 MB
63054500 ^2Full Collects 2
63054500 ^2Inc Collects 7
63054500 ^2GC Warnings 0
63054500 ^2Threads: 0, 0 Running, 0 Blocked, 0 Sleeping
       0 --------------------------------
       0 Sys_Exit warning - PID file doesn't exist /home/wetserver/serverfiles/nitmod/etlegacy_server.pid
       0 Network shutdown

I have no idea how he did it so that the server didn't kick him out completely, but his body stayed on the server under the name unnamedplayer and when he was killed it crashed the server sad


Edit: On etlegacy it's ok, on Et2.60b there is this problem

Last edited by C!es.. (23-Jan-24 02:13:03)

Offline

#10 23-Jan-24 15:30:10

Doc
BETA Tester
Registered: 23-Feb-11
Posts: 30
Website

Re: We need a better cheat protection.

Hello,

It may indeed be linked to lua, but I don't understand why the server would crash.
When a player loses his connection and his "body" remains in play, when another player kills him, the server does not crash, I don't see why by killing this player the server would crash.

It seems to be a memory problem "1050:54 Faulting Memory Ref/Instruction: 0x7f91cc9cfe10".

I don't have enough mod/server knowledge to know the reason for this crash and how to fix it sad

Offline

#11 23-Jan-24 23:36:14

C!es..
BETA Tester
From: Poland
Registered: 10-Jan-13
Posts: 84
Website

Re: We need a better cheat protection.

Hello, I will also add that in the console there is a message at the moment of kicking " Rennamed player to Unnamed player, end disconnect, only the Unnamed player remains on the server, after killing him the server crashes

Screenshot-397.jpg

Screenshot-401.jpg



James wrote:

"When a player loses his connection and his "body" remains in play, when another player kills him, the server does not crash, I don't see why by killing this player the server would crash."

The fault lies with the script, unless others do not have this problem, but for me it occurs after using the script, on etlegacy it is ok

Last edited by C!es.. (24-Jan-24 18:34:41)

Offline

#12 24-Jan-24 22:34:24

Doc
BETA Tester
Registered: 23-Feb-11
Posts: 30
Website

Re: We need a better cheat protection.

Hello,

There is perhaps a solution: put the player as a spectator, then the kicker.

-- Fonction pour vérifier si l'adresse MAC commence par la chaîne spécifiée
function starts_with(str, start)
   return str and str:sub(1, #start) == start
end

function extractMacAddress(userinfo)
   -- Extraire l'adresse MAC du userinfo.
   local _, _, macAddress = string.find(userinfo, "\\x\\([%w%-]+)\\")
   
   return macAddress or "N/A"
end

local timers = {} -- Tableau pour stocker les temporisateurs
local macAddressesToCheck = {"AA-BB-CC", "DD-EE-FF"} -- Ajoutez autant d'adresses MAC que nécessaire

function setTimer(clientNum, delay)
   local timer = {
      startTime = et.trap_Milliseconds(),
      delay = delay,
      clientNum = clientNum
   }
   table.insert(timers, timer)
end

function checkMacAddress(clientNum)
   local userinfo = et.trap_GetUserinfo(clientNum)
   
   -- Get adresse MAC du userinfo.
   local macAddress = extractMacAddress(userinfo)

   -- DEBUG : Afficher l'adresse mac
   -- et.G_Print("Adresse MAC du joueur connecté : " .. macAddress .. "\n")

   -- Vérifier si l'adresse MAC est dans la liste des adresses à vérifier
   for _, allowedMAC in ipairs(macAddressesToCheck) do
      if starts_with(macAddress, allowedMAC) then
         -- Si oui, mettre le joueur en spectateur 
         et.trap_SendConsoleCommand(et.EXEC_APPEND, "put " ..clientNum.. " s")
         -- Puis kicker le joueur
         et.trap_DropClient(clientNum, "Kicked by admin", 0) -- kick immédiatement
         return -- Sortir de la boucle dès qu'une correspondance est trouvée
      end
   end

   -- et.G_Print("MAC : " .. (macAddress or "N/A") .. "\n")
end

function checkTimers(levelTime)
   local i = 1
   while i <= #timers do
      local timer = timers[i]
      if levelTime - timer.startTime >= timer.delay then
         checkMacAddress(timer.clientNum)
         table.remove(timers, i)
      else
         i = i + 1
      end
   end
end

function et_ClientConnect(clientNum, firstTime, isBot)
   -- Enregistrer un temporisateur pour retarder l'exécution de la vérification de l'adresse MAC
   setTimer(clientNum, 100)
   -- et.G_Print("Vérification de l'adresse MAC dans 100 millisecondes...\n")
end

function et_ClientUserinfoChanged(clientNum)
   -- Cette fonction sera appelée lorsque les informations sur l'utilisateur changent
   checkMacAddress(clientNum)
end

function et_RunFrame(levelTime)
   -- Cette fonction est appelée à chaque frame
   checkTimers(levelTime)
end

I added a line allowing the player to be a spectator, then I modified the kick time to 0 :

function checkMacAddress(clientNum)
   local userinfo = et.trap_GetUserinfo(clientNum)
   
   -- Get adresse MAC du userinfo.
   local macAddress = extractMacAddress(userinfo)

   -- DEBUG : Afficher l'adresse mac
   -- et.G_Print("Adresse MAC du joueur connecté : " .. macAddress .. "\n")

   -- Vérifier si l'adresse MAC est dans la liste des adresses à vérifier
   for _, allowedMAC in ipairs(macAddressesToCheck) do
      if starts_with(macAddress, allowedMAC) then
         -- Si oui, mettre le joueur en spectateur 
         et.trap_SendConsoleCommand(et.EXEC_APPEND, "put " ..clientNum.. " s")
         -- Puis kicker le joueur
         et.trap_DropClient(clientNum, "Kicked by admin", 0) -- kick immédiatement
         return -- Sortir de la boucle dès qu'une correspondance est trouvée
      end
   end

   -- et.G_Print("MAC : " .. (macAddress or "N/A") .. "\n")
end

By testing on a local server in 2.6b (not legacy), the player does not stay.

Offline

Board footer

Powered by FluxBB