mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-23 07:43:01 +01:00
add default master server url and refactor
This commit is contained in:
@@ -243,8 +243,8 @@ config_property_definition _networkDefinitions[] = {
|
||||
{ offsetof(network_configuration, advertise), "advertise", CONFIG_VALUE_TYPE_BOOLEAN, false, NULL },
|
||||
{ offsetof(network_configuration, maxplayers), "maxplayers", CONFIG_VALUE_TYPE_UINT8, 16, NULL },
|
||||
{ offsetof(network_configuration, server_name), "server_name", CONFIG_VALUE_TYPE_STRING, {.value_string = "Server" }, NULL },
|
||||
{ offsetof(network_configuration, server_description), "server_description", CONFIG_VALUE_TYPE_STRING, {.value_string = "" }, NULL },
|
||||
{ offsetof(network_configuration, master_url), "master_url", CONFIG_VALUE_TYPE_STRING, {.value_string = OPENRCT2_MASTER_URL }, NULL }
|
||||
{ offsetof(network_configuration, server_description), "server_description", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL },
|
||||
{ offsetof(network_configuration, master_server_url), "master_server_url", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL }
|
||||
};
|
||||
|
||||
config_section_definition _sectionDefinitions[] = {
|
||||
|
||||
@@ -218,7 +218,7 @@ typedef struct {
|
||||
uint8 maxplayers;
|
||||
utf8string server_name;
|
||||
utf8string server_description;
|
||||
utf8string master_url;
|
||||
utf8string master_server_url;
|
||||
} network_configuration;
|
||||
|
||||
typedef struct theme_window {
|
||||
|
||||
@@ -791,11 +791,17 @@ void Network::ShutdownClient()
|
||||
|
||||
void Network::Advertise()
|
||||
{
|
||||
if (gConfigNetwork.advertise && strlen(gConfigNetwork.master_url) > 0) {
|
||||
if (gConfigNetwork.advertise) {
|
||||
last_advertise_time = SDL_GetTicks();
|
||||
|
||||
#ifndef DISABLE_HTTP
|
||||
std::string url = gConfigNetwork.master_url + std::string("?port=") + std::to_string(listening_port);
|
||||
http_request_json_async(url.c_str(), [](http_json_response *response)->void{});
|
||||
const char *masterServerUrl = OPENRCT2_MASTER_SERVER_URL;
|
||||
if (!str_is_null_or_empty(gConfigNetwork.master_server_url)) {
|
||||
masterServerUrl = gConfigNetwork.master_server_url;
|
||||
}
|
||||
|
||||
std::string url = masterServerUrl + std::string("?port=") + std::to_string(listening_port);
|
||||
http_request_json_async(url.c_str(), [](http_json_response *response)->void { });
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ typedef utf16* utf16string;
|
||||
#define OPENRCT2_BRANCH "develop"
|
||||
#define OPENRCT2_COMMIT_SHA1 ""
|
||||
#define OPENRCT2_COMMIT_SHA1_SHORT ""
|
||||
#define OPENRCT2_MASTER_URL ""
|
||||
#define OPENRCT2_MASTER_SERVER_URL "https://servers.openrct2.website"
|
||||
|
||||
// Represent fixed point numbers. dp = decimal point
|
||||
typedef uint8 fixed8_1dp;
|
||||
|
||||
@@ -638,7 +638,11 @@ static void join_server(char *address)
|
||||
static void fetch_servers()
|
||||
{
|
||||
#ifndef DISABLE_HTTP
|
||||
if(strlen(gConfigNetwork.master_url) > 0){
|
||||
const char *masterServerUrl = OPENRCT2_MASTER_SERVER_URL;
|
||||
if (!str_is_null_or_empty(gConfigNetwork.master_server_url)) {
|
||||
masterServerUrl = gConfigNetwork.master_server_url;
|
||||
}
|
||||
|
||||
SDL_LockMutex(_mutex);
|
||||
for (int i = 0; i < _numSavedServers; i++) {
|
||||
if (!_savedServers[i].favorite) {
|
||||
@@ -647,8 +651,7 @@ static void fetch_servers()
|
||||
}
|
||||
}
|
||||
SDL_UnlockMutex(_mutex);
|
||||
http_request_json_async(gConfigNetwork.master_url, fetch_servers_callback);
|
||||
}
|
||||
http_request_json_async(masterServerUrl, fetch_servers_callback);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user