Skip to content

Commit f6e1c54

Browse files
authored
Merge pull request #195 from sapphonie/update-stac-gd
Fixes for x64 update (STAC IS NOT GOING TO WORK ON x64 SERVERS THE UPDATE JUST BROKE ALL x86/32 bit SIGNATURES)
2 parents 57cc276 + def3258 commit f6e1c54

13 files changed

+67
-67
lines changed

extensions/connect.ext.2.ep2v.dll

-122 KB
Binary file not shown.

extensions/connect.ext.2.ep2v.so

-185 KB
Binary file not shown.

extensions/connect.ext.2.tf2.dll

300 KB
Binary file not shown.

extensions/connect.ext.2.tf2.so

1.13 MB
Binary file not shown.

extensions/x64/connect.ext.2.tf2.dll

390 KB
Binary file not shown.

extensions/x64/connect.ext.2.tf2.so

1.09 MB
Binary file not shown.

gamedata/connect.games.txt

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,25 @@
1515
"ISteamGameServer__BeginAuthSession"
1616
{
1717
"linux" "29"
18-
"mac" "29"
18+
"linux64" "29"
1919
"windows" "29"
2020
}
2121

2222
"ISteamGameServer__EndAuthSession"
2323
{
2424
"linux" "30"
25-
"mac" "30"
25+
"linux64" "30"
2626
"windows" "30"
2727
}
2828
}
2929

3030
"Signatures"
3131
{
32-
"CBaseServer__CheckMasterServerRequestRestart"
33-
{
34-
"library" "engine"
35-
"windows" "\xE8\x2A\x2A\x2A\x2A\x83\x78\x04\x00\x74\x2A\xE8\x2A\x2A\x2A\x2A\x8B\x48\x04\x8B\x01\x8B\x40\x2C\xFF\xD0\x84\xC0\x74\x2A\x56"
36-
}
37-
3832
"Steam3Server"
3933
{
4034
"library" "engine"
4135
"linux" "@_Z12Steam3Serverv"
42-
"mac" "@_Z12Steam3Serverv"
36+
"linux64" "@_Z12Steam3Serverv"
4337
}
4438
}
4539
}
@@ -53,6 +47,14 @@
5347
"engine" "hl2dm"
5448
}
5549

50+
"Offsets"
51+
{
52+
"CheckMasterServerRequestRestart_Steam3ServerFuncOffset"
53+
{
54+
"windows" "1"
55+
}
56+
}
57+
5658
"Signatures"
5759
{
5860
"CBaseServer__ConnectClient"
@@ -79,12 +81,10 @@
7981
"windows" "\x55\x8B\xEC\x8B\x55\x08\x8B\x02\x89\x41\x59\x8B\x42\x04"
8082
}
8183

82-
"CBaseServer__CheckChallengeType"
84+
"CBaseServer__CheckMasterServerRequestRestart"
8385
{
8486
"library" "engine"
85-
"linux" "@_ZN11CBaseServer18CheckChallengeTypeEP11CBaseClientiR8netadr_siPKcii"
86-
"mac" "@_ZN11CBaseServer18CheckChallengeTypeEP11CBaseClientiR8netadr_siPKcii"
87-
"windows" "\x55\x8B\xEC\x83\xEC\x14\x56\x57\x8B\x7D\x2A\x8B\xF1"
87+
"windows" "\xE8\x2A\x2A\x2A\x2A\x83\x78\x04\x00\x74\x2A\xE8\x2A\x2A\x2A\x2A\x8B\x48\x04\x8B\x01\x8B\x40\x2C\xFF\xD0\x84\xC0\x74\x2A\x56"
8888
}
8989
}
9090
}
@@ -96,38 +96,60 @@
9696
"engine" "tf2"
9797
}
9898

99+
"Offsets"
100+
{
101+
"ISteamGameServer__BeginAuthSession"
102+
{
103+
"linux" "26"
104+
"linux64" "26"
105+
"windows" "26"
106+
"windows64" "26"
107+
}
108+
109+
"ISteamGameServer__EndAuthSession"
110+
{
111+
"linux" "27"
112+
"linux64" "27"
113+
"windows" "27"
114+
"windows64" "27"
115+
}
116+
117+
"CheckMasterServerRequestRestart_Steam3ServerFuncOffset"
118+
{
119+
"windows" "240"
120+
}
121+
}
122+
99123
"Signatures"
100124
{
101125
"CBaseServer__ConnectClient"
102126
{
103127
"library" "engine"
104128
"linux" "@_ZN11CBaseServer13ConnectClientER8netadr_siiiiPKcS3_S3_i"
105-
"mac" "@_ZN11CBaseServer13ConnectClientER8netadr_siiiiPKcS3_S3_i"
106-
"windows" "\x55\x8B\xEC\x81\xEC\x24\x05\x00\x00"
129+
"linux64" "@_ZN11CBaseServer13ConnectClientER8netadr_siiiiPKcS3_S3_i"
130+
"windows" "\x55\x8B\xEC\x81\xEC\x24\x05\x00\x00\x53\x56\x57\x68\x2A\x2A\x2A\x2A"
107131
}
108132

109133
"CBaseServer__RejectConnection"
110134
{
111135
"library" "engine"
112136
"linux" "@_ZN11CBaseServer16RejectConnectionERK8netadr_siPKc"
113-
"mac" "@_ZN11CBaseServer16RejectConnectionERK8netadr_siPKc"
137+
"linux64" "@_ZN11CBaseServer16RejectConnectionERK8netadr_siPKc"
114138
"windows" "\x55\x8B\xEC\x81\xEC\x04\x05\x00\x00\x57"
115139
}
116140

117141
"CBaseClient__SetSteamID"
118142
{
119143
"library" "engine"
120144
"linux" "@_ZN11CBaseClient10SetSteamIDERK8CSteamID"
121-
"mac" "@_ZN11CBaseClient10SetSteamIDERK8CSteamID"
122-
"windows" "\x55\x8B\xEC\x56\x57\x8B\x7D\x08\x8B\xF1\x8D\x4E\x04"
145+
"linux64" "@_ZN11CBaseClient10SetSteamIDERK8CSteamID"
146+
"windows" "\x55\x8B\xEC\x56\x8B\xF1\x57\x8B\x7D\x08\x8D\x4E\x04"
123147
}
124148

125-
"CBaseServer__CheckChallengeType"
149+
"CBaseServer__CheckMasterServerRequestRestart"
126150
{
127151
"library" "engine"
128-
"linux" "@_ZN11CBaseServer18CheckChallengeTypeEP11CBaseClientiR8netadr_siPKcii"
129-
"mac" "@_ZN11CBaseServer18CheckChallengeTypeEP11CBaseClientiR8netadr_siPKcii"
130-
"windows" "\x55\x8B\xEC\x83\xEC\x14\x53\x8B\x5D\x14"
152+
"windows" "\x55\x8B\xEC\x83\xEC\x1C\x53\x57\x33\xD2"
131153
}
132154
}
133155
}

gamedata/conplex.games.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,19 @@
4545
"ProcessAccept"
4646
{
4747
"library" "engine"
48-
"windows" "\x55\x8B\xEC\x83\xEC\x24\x53\x57\x8D\x45\xF8\xC7\x45\xF8\x10\x00\x00\x00\x50"
48+
"windows" "\x55\x8B\xEC\x83\xEC\x24\x53\x8B\xD9\x8B\x43\x18"
4949
}
5050

5151
"RunFrame"
5252
{
5353
"library" "engine"
54-
"windows" "\x55\x8B\xEC\xB8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x53\x8B\xD9\x56\x57"
54+
"windows" "\x55\x8B\xEC\xB8\x60\x10\x00\x00"
5555
}
5656

5757
"HandleFailedRconAuth"
5858
{
5959
"library" "engine"
60-
"windows" "\x55\x8B\xEC\x83\xEC\x18\xA1\x2A\x2A\x2A\x2A\x8B\x15\x2A\x2A\x2A\x2A\x53\x56\x57"
60+
"windows" "\x55\x8B\xEC\x83\xEC\x14\xF7\x05\x2A\x2A\x2A\x2A\x00\x10\x00\x00"
6161
}
6262
}
6363
}

gamedata/stac.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,17 @@
6060
{
6161
/*
6262
"Packet from %s after processing time exceeded (%d bytes pkt), aborting"
63-
sub_101A0200 proc near
6463
*/
6564
"CNetChan::ProcessPacket"
6665
{
6766
"library" "engine"
6867
"linux" "@_ZN8CNetChan13ProcessPacketEP11netpacket_sb"
69-
"windows" "\x55\x8B\xEC\x83\xEC\x10\x53\x56\x57\x8B\x7D\x08\x8B\xD9\x83\x7F\x24\x00"
68+
"windows" "\x55\x8B\xEC\x83\xEC\x08\x53\x56\x8B\x75\x08\x83\x7E\x24\x00"
7069
}
7170

7271
/*
7372
"CBasePlayer::ChangeTeam( %d )" - 2 in vtable from that func
74-
sub_102B44C0 ; int __thiscall sub_102B44C0(_DWORD *this, int, int, int, int, char)
73+
int __thiscall sub_102E5310(_DWORD *this, int a2, int a3, int a4, int a5, char a6)
7574
*/
7675
"CBasePlayer::ProcessUsercmds"
7776
{
@@ -145,7 +144,10 @@
145144
"CBaseClient::GetPlayerSlot"
146145
{
147146
"linux" "15"
148-
"windows" "14" // <-- annoying offset to get that i'm just trusting nosoop to be correct on (it doesn't crash)
147+
// annoying offset to get that i'm just trusting nosoop to be correct on (it doesn't crash):
148+
// "find SV_BroadcastVoiceData via string xref "Sending voice from: %s - playerslot: %d"
149+
// virtual calls made prior to that (call dword ptr [eax+38h] on windows, buncha machinery comparing to _ZThn4_NK11CBaseClient13GetPlayerSlotEv on linux)"
150+
"windows" "14"
149151
}
150152
"CNetChan::GetTimeSinceLastReceived"
151153
{

plugins/stac.smx

-199 Bytes
Binary file not shown.

scripting/stac.sp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
#pragma semicolon 1
5656
#pragma newdecls required
5757

58-
#define PLUGIN_VERSION "6.1.4"
58+
#define PLUGIN_VERSION "6.1.5"
5959

6060
#define UPDATE_URL "https://raw.githubusercontent.com/sapphonie/StAC-tf2/master/updatefile.txt"
6161

scripting/stac/stac_cvar_checks.sp

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ char miscVars[][] =
3030
"r_portalsopenall",
3131
// must be == 1.0
3232
"host_timescale",
33-
// if this is >= 8 just kick them, cathook uses this to "spoof" windows
34-
"windows_speaker_config"
3533
// sv_force_transmit_ents ?
3634
// sv_suppress_viewpunch ?
3735
// tf_showspeed ?
@@ -61,6 +59,8 @@ char cheatVars[][] =
6159
// "hook"
6260
// fware
6361
"crash",
62+
// cathook uses this to "spoof" windows
63+
"windows_speaker_config",
6464
};
6565

6666

@@ -273,31 +273,6 @@ public void ConVarCheck(QueryCookie cookie, int cl, ConVarQueryResult result, co
273273
}
274274
}
275275

276-
// chook does this. we cant ban since technically legit clients can set this, but we can kick em out
277-
else if (StrEqual(cvarName, "windows_speaker_config"))
278-
{
279-
if (StringToInt(cvarValue) >= 8)
280-
{
281-
char fmtmsg[512];
282-
Format
283-
(
284-
fmtmsg,
285-
sizeof(fmtmsg),
286-
"Client %N has a value of \"%i\" for cvar \"%s\", which is out of bounds. Legit clients can set this, but most of the time, this is a bot. Kicked from server.",
287-
cl, StringToInt(cvarValue), cvarName
288-
);
289-
StacNotify
290-
(
291-
userid,
292-
fmtmsg
293-
);
294-
if (stac_ban_for_misccheats.BoolValue)
295-
{
296-
KickClient(cl, "#GameUI_ServerInsecure");
297-
}
298-
}
299-
}
300-
301276
/*
302277
cheat program only cvars
303278
*/
@@ -310,7 +285,7 @@ public void ConVarCheck(QueryCookie cookie, int cl, ConVarQueryResult result, co
310285
}
311286
}
312287
// log something about cvar errors
313-
else if (result != ConVarQuery_Okay && !IsCheatOnlyVar(cvarName) && !StrEqual(cvarName, "windows_speaker_config"))
288+
else if (result != ConVarQuery_Okay && !IsCheatOnlyVar(cvarName))
314289
{
315290
char fmtmsg[512];
316291
Format

updatefile.txt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
{
55
"Version"
66
{
7-
"Latest" "6.1.4"
7+
"Latest" "6.1.5"
88
}
99

10-
"Notes" "Changes in 6.1.4"
11-
"Notes" "- https://github.com/sapphonie/StAC-tf2/releases/tag/v6.1.4"
10+
"Notes" "Changes in 6.1.5"
11+
"Notes" "- https://github.com/sapphonie/StAC-tf2/releases/tag/v6.1.5"
1212
"Notes" "===== StAC is always looking for feedback! Got an issue, request, or wanna discuss? Open a GitHub issue and join the Discord server linked in the README, on GitHub! ====="
1313
"Notes" "===== Thank you for using StAC. -sappho ===== "
1414
}
@@ -24,8 +24,12 @@
2424
// Extensions
2525
"Plugin" "Path_SM/extensions/SteamWorks.ext.dll"
2626
"Plugin" "Path_SM/extensions/SteamWorks.ext.so"
27-
"Plugin" "Path_SM/extensions/connect.ext.2.ep2v.dll"
28-
"Plugin" "Path_SM/extensions/connect.ext.2.ep2v.so"
27+
28+
"Plugin" "Path_SM/extensions/connect.ext.2.tf2.dll"
29+
"Plugin" "Path_SM/extensions/connect.ext.2.tf2.so"
30+
"Plugin" "Path_SM/extensions/x64/connect.ext.2.tf2.dll"
31+
"Plugin" "Path_SM/extensions/x64/connect.ext.2.tf2.so"
32+
2933
"Plugin" "Path_SM/extensions/conplex.ext.dll"
3034
"Plugin" "Path_SM/extensions/conplex.ext.so"
3135
"Plugin" "Path_SM/extensions/sourcetvmanager.ext.2.tf2.dll"
@@ -39,7 +43,4 @@
3943
"Plugin" "Path_SM/gamedata/sourcetvmanager.games.txt"
4044
"Plugin" "Path_SM/gamedata/stac.txt"
4145
}
42-
}
43-
44-
45-
46+
}

0 commit comments

Comments
 (0)