Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
420a56c8c4 | ||
|
|
5e262c573a | ||
|
|
df4b1b0aa7 | ||
|
|
dfc25da57a | ||
|
|
4c7ec14d52 | ||
|
|
0aab8e0bd6 | ||
|
|
86c714fb1b | ||
|
|
3a126db081 | ||
|
|
0b5306f689 | ||
|
|
00c4ee1521 | ||
|
|
aa115c645e | ||
|
|
723d6e07b9 |
@@ -3,3 +3,4 @@ Containerfile
|
|||||||
.venv
|
.venv
|
||||||
safetyhook
|
safetyhook
|
||||||
.env
|
.env
|
||||||
|
secret.h
|
||||||
|
|||||||
@@ -31,3 +31,14 @@ Note that this function is called before the client has a client index on the se
|
|||||||
|
|
||||||
|
|
||||||
# [Builds](https://builds.limetech.io/?project=connect)
|
# [Builds](https://builds.limetech.io/?project=connect)
|
||||||
|
|
||||||
|
|
||||||
|
# helpful commands for building on the unloze machine
|
||||||
|
|
||||||
|
## the environment
|
||||||
|
export PATH=":/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11/bin:/home/gameservers/.local/bin":/sbin:/bin:
|
||||||
|
export SOURCEMOD=/home/gameservers/automate/sourcemod_1.13.0.7207
|
||||||
|
export MMSOURCE=/home/gameservers/automate/mmsource-1.13
|
||||||
|
|
||||||
|
## building
|
||||||
|
rm -r -f build; mkdir build; cd build; python ../configure.py --sdks css --targets=x86 --enable-optimize; ambuild; cd ..
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ for cxx_task in Extension.extensions:
|
|||||||
pdblog.write(cxx_task.debug.path + '\n')
|
pdblog.write(cxx_task.debug.path + '\n')
|
||||||
pdblog.close()
|
pdblog.close()
|
||||||
|
|
||||||
CopyFiles('connect.games.txt', folders['addons/sourcemod/gamedata'])
|
CopyFiles('connect2.games.txt', folders['addons/sourcemod/gamedata'])
|
||||||
CopyFiles('connect.inc', folders['addons/sourcemod/scripting/include'])
|
CopyFiles('connect.inc', folders['addons/sourcemod/scripting/include'])
|
||||||
CopyFiles('connect.sp', folders['addons/sourcemod/scripting'])
|
CopyFiles('connect.sp', folders['addons/sourcemod/scripting'])
|
||||||
|
|
||||||
|
|||||||
+10
@@ -4,7 +4,17 @@
|
|||||||
|
|
||||||
#define _connect_included
|
#define _connect_included
|
||||||
|
|
||||||
|
enum EConnect
|
||||||
|
{
|
||||||
|
k_OnClientPreConnectEx_Reject = 0,
|
||||||
|
k_OnClientPreConnectEx_Accept = 1,
|
||||||
|
k_OnClientPreConnectEx_Async = -1
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
forward bool OnClientPreConnectEx(const char[] name, char password[255], const char[] ip, const char[] steamID, char rejectReason[255]);
|
forward bool OnClientPreConnectEx(const char[] name, char password[255], const char[] ip, const char[] steamID, char rejectReason[255]);
|
||||||
|
native bool ClientPreConnectEx(const char[] sSteam32ID, EConnect RetVal, char sRejectReason[255]);
|
||||||
|
native bool SteamClientAuthenticated(const char[] sSteam32ID);
|
||||||
|
|
||||||
public Extension __ext_Connect =
|
public Extension __ext_Connect =
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,12 +37,12 @@
|
|||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
{
|
{
|
||||||
"Steam3Server"
|
"Steam3Server"
|
||||||
{
|
{
|
||||||
"library" "engine"
|
"library" "engine"
|
||||||
"linux" "@_Z12Steam3Serverv"
|
"linux" "@_Z12Steam3Serverv"
|
||||||
"linux64" "@_Z12Steam3Serverv"
|
"linux64" "@_Z12Steam3Serverv"
|
||||||
}
|
}
|
||||||
|
|
||||||
"CBaseServer__ConnectClient"
|
"CBaseServer__ConnectClient"
|
||||||
{
|
{
|
||||||
@@ -64,23 +64,21 @@
|
|||||||
|
|
||||||
"CBaseServer__CheckMasterServerRequestRestart"
|
"CBaseServer__CheckMasterServerRequestRestart"
|
||||||
{
|
{
|
||||||
// "%cMasterRequestRestart"
|
|
||||||
"library" "engine"
|
"library" "engine"
|
||||||
"windows" "\x55\x8B\xEC\x83\xEC\x1C\x53\x57\x33\xD2"
|
"windows" "\x55\x8B\xEC\x83\xEC\x1C\x53\x57\x33\xD2"
|
||||||
"windows64" "\x4C\x8B\xDC\x49\x89\x5B\x2A\x49\x89\x6B\x2A\x56\x57\x41\x54\x41\x56\x41\x57\x48\x83\xEC\x60\x48\x8B\x05\x2A\x2A\x2A\x2A\x48\x8D\x1D"
|
"windows64" "\x4C\x8B\xDC\x49\x89\x5B\x2A\x49\x89\x6B\x2A\x56\x57\x41\x54\x41\x56\x41\x57\x48\x83\xEC\x60\x48\x8B\x05\x2A\x2A\x2A\x2A\x48\x8D\x1D"
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
"CSteam3Server__OnValidateAuthTicketResponse"
|
||||||
"tf"
|
|
||||||
{
|
|
||||||
"Signatures"
|
|
||||||
{
|
|
||||||
"CBaseServer__CheckMasterServerRequestRestart"
|
|
||||||
{
|
{
|
||||||
"library" "engine"
|
"library" "engine"
|
||||||
// "%cMasterRequestRestart"
|
"linux" "@_ZN13CSteam3Server28OnValidateAuthTicketResponseEP28ValidateAuthTicketResponse_t"
|
||||||
"windows" "\x55\x8B\xEC\x83\xEC\x18\x53\x57\x33\xD2\x8B\xF9\x8B\x0D\x2A\x2A\x2A\x2A\x89\x55\xE8\x89\x55\xEC\x89\x55\xF4\x8B\x41\x08"
|
}
|
||||||
"windows64" "\x4C\x8B\xDC\x49\x89\x5B\x10\x49\x89\x6B\x18\x56\x57\x41\x54\x41\x56\x41\x57\x48\x83\xEC\x60\x48\x8B\x05\x2A\x83\x20\x00"
|
|
||||||
|
"CBaseClient__SetSteamID"
|
||||||
|
{
|
||||||
|
"library" "engine"
|
||||||
|
"linux" "@_ZN11CBaseClient10SetSteamIDERK8CSteamID"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+802
-258
File diff suppressed because it is too large
Load Diff
@@ -55,6 +55,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
//virtual void SDK_OnPauseChange(bool paused);
|
//virtual void SDK_OnPauseChange(bool paused);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This is called once all known extensions have been loaded.
|
||||||
|
* Note: It is is a good idea to add natives here, if any are provided.
|
||||||
|
*/
|
||||||
|
virtual void SDK_OnAllLoaded();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief this is called when Core wants to know if your extension is working.
|
* @brief this is called when Core wants to know if your extension is working.
|
||||||
*
|
*
|
||||||
@@ -110,6 +117,11 @@ public: \
|
|||||||
ret (name##Class::* name##Class::name##_Actual)(p1type, p2type, p3type, p4type, p5type, p6type, p7type, p8type, p9type) = NULL; \
|
ret (name##Class::* name##Class::name##_Actual)(p1type, p2type, p3type, p4type, p5type, p6type, p7type, p8type, p9type) = NULL; \
|
||||||
ret name##Class::name(p1type p1name, p2type p2name, p3type p3name, p4type p4name, p5type p5name, p6type p6name, p7type p7name, p8type p8name, p9type p9name)
|
ret name##Class::name(p1type p1name, p2type p2name, p3type p3name, p4type p4name, p5type p5name, p6type p6name, p7type p7name, p8type p8name, p9type p9name)
|
||||||
|
|
||||||
|
#define DETOUR_MEMBER_MCALL_CALLBACK(name, classptr) \
|
||||||
|
((name##Class *)classptr->*(&name##Class::name))
|
||||||
|
#define DETOUR_MEMBER_MCALL_ORIGINAL(name, classptr) \
|
||||||
|
((name##Class *)classptr->*(name##Class::name##_Actual))
|
||||||
|
|
||||||
struct mfpDetails {
|
struct mfpDetails {
|
||||||
void *addr;
|
void *addr;
|
||||||
intptr_t adjustor;
|
intptr_t adjustor;
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#pragma once
|
||||||
|
#define NAME_SALT "your-salt-here"
|
||||||
@@ -40,8 +40,8 @@
|
|||||||
#define SMEXT_CONF_NAME "Connect"
|
#define SMEXT_CONF_NAME "Connect"
|
||||||
#define SMEXT_CONF_DESCRIPTION "Forward for early connection"
|
#define SMEXT_CONF_DESCRIPTION "Forward for early connection"
|
||||||
#define SMEXT_CONF_VERSION SM_FULL_VERSION
|
#define SMEXT_CONF_VERSION SM_FULL_VERSION
|
||||||
#define SMEXT_CONF_AUTHOR "Asher \"asherkin\" Baker"
|
#define SMEXT_CONF_AUTHOR "Asher \"asherkin\" Baker + jenz + zacade"
|
||||||
#define SMEXT_CONF_URL "http://limetech.org/"
|
#define SMEXT_CONF_URL "https://git.unloze.com/UNLOZE/sm-ext-connect"
|
||||||
#define SMEXT_CONF_LOGTAG "CONNECT"
|
#define SMEXT_CONF_LOGTAG "CONNECT"
|
||||||
#define SMEXT_CONF_LICENSE "GPL"
|
#define SMEXT_CONF_LICENSE "GPL"
|
||||||
#define SMEXT_CONF_DATESTRING __DATE__
|
#define SMEXT_CONF_DATESTRING __DATE__
|
||||||
|
|||||||
Reference in New Issue
Block a user