Skip to content

Commit d2ecacb

Browse files
authored
Merge branch 'master' into client_c20
2 parents 9d3df36 + ef9829f commit d2ecacb

File tree

273 files changed

+23416
-29771
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

273 files changed

+23416
-29771
lines changed

Client/mods/deathmatch/logic/luadefs/CLuaNetworkDefs.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,26 @@
88
*****************************************************************************/
99

1010
#include "StdInc.h"
11+
#include "CScriptArgReader.h"
1112

1213
#define MIN_CLIENT_REQ_CALLREMOTE_QUEUE_NAME "1.5.3-9.11270"
1314
#define MIN_CLIENT_REQ_FETCHREMOTE_CONNECT_TIMEOUT "1.3.5"
1415
#define MIN_CLIENT_REQ_CALLREMOTE_OPTIONS_TABLE "1.5.4-9.11342"
1516
#define MIN_CLIENT_REQ_CALLREMOTE_OPTIONS_FORMFIELDS "1.5.4-9.11413"
1617

18+
static auto GetServerIp(std::optional<bool> includePort) -> const char*
19+
{
20+
return g_pNet->GetConnectedServer(includePort.value_or(false));
21+
}
22+
1723
void CLuaNetworkDefs::LoadFunctions()
1824
{
1925
constexpr static const std::pair<const char*, lua_CFunction> functions[]{
2026
{"fetchRemote", FetchRemote},
2127
{"getRemoteRequests", GetRemoteRequests},
2228
{"getRemoteRequestInfo", GetRemoteRequestInfo},
2329
{"abortRemoteRequest", AbortRemoteRequest},
30+
{"getServerIp", ArgumentParser<GetServerIp>},
2431
};
2532

2633
// Add functions

Server/mods/deathmatch/Config.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,23 +113,17 @@
113113
// SQL variable placeholder (replaces with actual variable content)
114114
#define SQL_VARIABLE_PLACEHOLDER '?'
115115

116-
// Security script path
117-
#define LUA_SECURITY_SCRIPT "security.lua"
118-
119116
// Server FPS limit (in milliseconds)
120117
#define FPS_LIMIT 16
121118

122119
// Max garages
123120
#define MAX_GARAGES 50
124121

125-
// Game-monitor.com query URL (use %u for port input)
126-
#define QUERY_URL_GAME_MONITOR "http://master.game-monitor.com/heartbeat.php?p=%ASE%&e=3"
127-
128122
// MTA master server query URL (Inputs: game port, ase port, http port, version, extra, serverip)
129-
#define QUERY_URL_MTA_MASTER_SERVER "http://master.mtasa.com/ase/add.php?g=%GAME%&a=%ASE%&h=%HTTP%&v=%VER%&x=%EXTRA%&ip=%IP%"
123+
#define QUERY_URL_MTA_MASTER_SERVER "https://master.mtasa.com/ase/add.php?g=%GAME%&a=%ASE%&h=%HTTP%&v=%VER%&x=%EXTRA%&ip=%IP%"
130124

131125
// MTA port tester URL
132-
#define PORT_TESTER_URL "http://nightly.mtasa.com/ports/"
126+
#define PORT_TESTER_URL "https://nightly.mtasa.com/ports/"
133127

134128
// MTA minclientversion auto update and others
135-
#define HQCOMMS_URL "http://updatesa.multitheftauto.com/sa/server/hqcomms/"
129+
#define HQCOMMS_URL "https://updatesa.multitheftauto.com/sa/server/hqcomms/"

Server/mods/deathmatch/logic/luadefs/CLuaGenericDefs.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
#include "CLuaGenericDefs.h"
1313
#include "CStaticFunctionDefinitions.h"
1414
#include "CScriptArgReader.h"
15+
#include "CMasterServerAnnouncer.h"
16+
17+
static auto GetServerIpFromMasterServer() -> std::string
18+
{
19+
return g_pGame->GetMasterServerAnnouncer()->GetRemoteAddress();
20+
}
1521

1622
void CLuaGenericDefs::LoadFunctions()
1723
{
@@ -24,6 +30,7 @@ void CLuaGenericDefs::LoadFunctions()
2430
{"outputConsole", ArgumentParserWarn<false, OutputConsole>},
2531
{"outputDebugString", ArgumentParserWarn<false, OutputScriptDebugLog>},
2632
{"outputServerLog", ArgumentParserWarn<false, OutputServerLog>},
33+
{"getServerIpFromMasterServer", ArgumentParser<GetServerIpFromMasterServer>},
2734
{"getServerName", ArgumentParserWarn<nullptr, GetServerName>},
2835
{"getServerHttpPort", ArgumentParserWarn<nullptr, GetServerHttpPort>},
2936
{"getServerPassword", ArgumentParserWarn<nullptr, GetServerPassword>},

Server/mods/deathmatch/utils/CMasterServerAnnouncer.h

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#pragma once
1212

13+
#include "ASE.h"
1314
#include "version.h"
1415

1516
struct SMasterServerDefinition
@@ -129,10 +130,15 @@ class CMasterServer : public CRefCountable
129130
if (m_Stage < ANNOUNCE_STAGE_REMINDER)
130131
{
131132
m_Stage = ANNOUNCE_STAGE_REMINDER;
133+
134+
CArgMap argMap;
135+
argMap.SetFromString(result.pData);
136+
137+
if (result.iErrorCode == 200)
138+
m_remoteAddress = argMap.Get("remote_addr");
139+
132140
if (!m_Definition.bHideSuccess)
133141
{
134-
CArgMap argMap;
135-
argMap.SetFromString(result.pData);
136142
SString strOkMessage = argMap.Get("ok_message");
137143

138144
// Log successful initial announcement
@@ -178,6 +184,9 @@ class CMasterServer : public CRefCountable
178184

179185
const SMasterServerDefinition& GetDefinition() const { return m_Definition; }
180186

187+
bool HasRemoteAddress() const noexcept { return !m_remoteAddress.empty(); }
188+
const std::string& GetRemoteAddress() const noexcept { return m_remoteAddress; }
189+
181190
//
182191
// Get http downloader used for master server comms etc.
183192
//
@@ -192,6 +201,7 @@ class CMasterServer : public CRefCountable
192201
long long m_llLastAnnounceTime;
193202
long long m_llLastPushTime;
194203
const SMasterServerDefinition m_Definition;
204+
std::string m_remoteAddress;
195205
};
196206

197207
////////////////////////////////////////////////////////////////////
@@ -270,6 +280,21 @@ class CMasterServerAnnouncer
270280
}
271281
}
272282

283+
/*
284+
* @brief Get remote address of the first master server that has it.
285+
*/
286+
const std::string& GetRemoteAddress() const noexcept
287+
{
288+
for (CMasterServer* masterServer : m_MasterServerList)
289+
{
290+
if (masterServer->HasRemoteAddress())
291+
return masterServer->GetRemoteAddress();
292+
}
293+
294+
static std::string empty;
295+
return empty;
296+
}
297+
273298
protected:
274299
std::vector<CMasterServer*> m_MasterServerList;
275300
};

0 commit comments

Comments
 (0)