add extra server details on gameinfo packet

This commit is contained in:
IntelOrca 2015-11-11 22:39:04 +00:00
parent 7f541240e2
commit ed8e7c2d38
3 changed files with 16 additions and 2 deletions

View File

@ -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[] = {

View File

@ -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 {

View File

@ -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