From ed8e7c2d386a1369e44c6d0fad24e50e0609a002 Mon Sep 17 00:00:00 2001 From: IntelOrca Date: Wed, 11 Nov 2015 22:39:04 +0000 Subject: [PATCH] add extra server details on gameinfo packet --- src/config.c | 5 ++++- src/config.h | 3 +++ src/network/network.cpp | 10 +++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/config.c b/src/config.c index 7dbe386f49..647f59e4f7 100644 --- a/src/config.c +++ b/src/config.c @@ -248,7 +248,10 @@ config_property_definition _networkDefinitions[] = { { 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 }, NULL }, - { offsetof(network_configuration, master_server_url), "master_server_url", 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 }, + { offsetof(network_configuration, provider_name), "provider_name", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL }, + { offsetof(network_configuration, provider_email), "provider_email", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL }, + { offsetof(network_configuration, provider_website), "provider_website", CONFIG_VALUE_TYPE_STRING, {.value_string = NULL }, NULL } }; config_section_definition _sectionDefinitions[] = { diff --git a/src/config.h b/src/config.h index fc070133f4..58dae6b559 100644 --- a/src/config.h +++ b/src/config.h @@ -219,6 +219,9 @@ typedef struct { utf8string server_name; utf8string server_description; utf8string master_server_url; + utf8string provider_name; + utf8string provider_email; + utf8string provider_website; } network_configuration; typedef struct theme_window { diff --git a/src/network/network.cpp b/src/network/network.cpp index eabcfdc06e..8c566d4ff1 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -905,7 +905,6 @@ void Network::AdvertiseHeartbeat() json_t *body = json_object(); json_object_set(body, "token", json_string(advertise_token.c_str())); - json_object_set(body, "dedicated", json_boolean(gOpenRCT2Headless)); json_object_set(body, "players", json_integer(network_get_num_players())); json_t *gameInfo = json_object(); @@ -1091,6 +1090,15 @@ void Network::Server_Send_GAMEINFO(NetworkConnection& connection) json_object_set(obj, "players", json_integer(player_list.size())); json_object_set(obj, "maxPlayers", json_integer(gConfigNetwork.maxplayers)); json_object_set(obj, "description", json_string(gConfigNetwork.server_description)); + json_object_set(obj, "dedicated", json_boolean(gOpenRCT2Headless)); + + // Provider details + json_t* jsonProvider = json_object(); + json_object_set(jsonProvider, "name", json_string(gConfigNetwork.provider_name)); + json_object_set(jsonProvider, "email", json_string(gConfigNetwork.provider_email)); + json_object_set(jsonProvider, "website", json_string(gConfigNetwork.provider_website)); + json_object_set(obj, "provider", jsonProvider); + packet->WriteString(json_dumps(obj, 0)); json_decref(obj); #endif