OpenTTD Source: src/network/core/config.h File Reference

OpenTTD Source 12.0-beta1

Functions | Variables
config.h File Reference

Go to the source code of this file.

## Functions
const char * | NetworkCoordinatorConnectionString ()
| Get the connection string for the game coordinator from the environment variable OTTD_COORDINATOR_CS, or when it has not been set a hard coded default DNS hostname of the production server. More...
const char * | NetworkStunConnectionString ()
| Get the connection string for the STUN server from the environment variable OTTD_STUN_CS, or when it has not been set a hard coded default DNS hostname of the production server. More...
const char * | NetworkContentServerConnectionString ()
| Get the connection string for the content server from the environment variable OTTD_CONTENT_SERVER_CS, or when it has not been set a hard coded default DNS hostname of the production server. More...
const char * | NetworkContentMirrorConnectionString ()
| Get the connection string for the content mirror from the environment variable OTTD_CONTENT_MIRROR_CS, or when it has not been set a hard coded default DNS hostname of the production server. More...

## Variables
static const char *const | NETWORK_CONTENT_MIRROR_URL = "/bananas"
| URL of the HTTP mirror system.
static const uint16 | NETWORK_COORDINATOR_SERVER_PORT = 3976
| The default port of the Game Coordinator server (TCP)
static const uint16 | NETWORK_STUN_SERVER_PORT = 3975
| The default port of the STUN server (TCP)
static const uint16 | NETWORK_TURN_SERVER_PORT = 3974
| The default port of the TURN server (TCP)
static const uint16 | NETWORK_CONTENT_SERVER_PORT = 3978
| The default port of the content server (TCP)
static const uint16 | NETWORK_CONTENT_MIRROR_PORT = 80
| The default port of the content mirror (TCP)
static const uint16 | NETWORK_DEFAULT_PORT = 3979
| The default port of the game server (TCP & UDP)
static const uint16 | NETWORK_ADMIN_PORT = 3977
| The default port for admin network.
static const uint16 | NETWORK_DEFAULT_DEBUGLOG_PORT = 3982
| The default port debug-log is sent to (TCP)
static const uint16 | UDP_MTU = 1460
| Number of bytes we can pack in a single UDP packet.
static const uint16 | TCP_MTU = 32767
| Number of bytes we can pack in a single TCP packet.
static const uint16 | COMPAT_MTU = 1460
| Number of bytes we can pack in a single packet for backward compatibility.
static const byte | NETWORK_GAME_ADMIN_VERSION = 1
| What version of the admin network do we use?
static const byte | NETWORK_GAME_INFO_VERSION = 6
| What version of game-info do we use?
static const byte | NETWORK_COMPANY_INFO_VERSION = 6
| What version of company info is this?
static const byte | NETWORK_COORDINATOR_VERSION = 5
| What version of game-coordinator-protocol do we use?
static const uint | NETWORK_NAME_LENGTH = 80
| The maximum length of the server name and map name, in bytes including '\0'.
static const uint | NETWORK_COMPANY_NAME_LENGTH = 128
| The maximum length of the company name, in bytes including '\0'.
static const uint | NETWORK_HOSTNAME_LENGTH = 80
| The maximum length of the host name, in bytes including '\0'.
static const uint | NETWORK_HOSTNAME_PORT_LENGTH = 80 + 6
| The maximum length of the host name + port, in bytes including '\0'. The extra six is ":" + port number (with a max of 65536)
static const uint | NETWORK_SERVER_ID_LENGTH = 33
| The maximum length of the network id of the servers, in bytes including '\0'.
static const uint | NETWORK_REVISION_LENGTH = 33
| The maximum length of the revision, in bytes including '\0'.
static const uint | NETWORK_PASSWORD_LENGTH = 33
| The maximum length of the password, in bytes including '\0' (must be >= NETWORK_SERVER_ID_LENGTH)
static const uint | NETWORK_CLIENTS_LENGTH = 200
| The maximum length for the list of clients that controls a company, in bytes including '\0'.
static const uint | NETWORK_CLIENT_NAME_LENGTH = 25
| The maximum length of a client's name, in bytes including '\0'.
static const uint | NETWORK_RCONCOMMAND_LENGTH = 500
| The maximum length of a rconsole command, in bytes including '\0'.
static const uint | NETWORK_GAMESCRIPT_JSON_LENGTH = COMPAT_MTU - 3
| The maximum length of a gamescript json string, in bytes including '\0'. Must not be longer than COMPAT_MTU including header (3 bytes)
static const uint | NETWORK_CHAT_LENGTH = 900
| The maximum length of a chat message, in bytes including '\0'.
static const uint | NETWORK_CONTENT_FILENAME_LENGTH = 48
| The maximum length of a content's filename, in bytes including '\0'.
static const uint | NETWORK_CONTENT_NAME_LENGTH = 32
| The maximum length of a content's name, in bytes including '\0'.
static const uint | NETWORK_CONTENT_VERSION_LENGTH = 16
| The maximum length of a content's version, in bytes including '\0'.
static const uint | NETWORK_CONTENT_URL_LENGTH = 96
| The maximum length of a content's url, in bytes including '\0'.
static const uint | NETWORK_CONTENT_DESC_LENGTH = 512
| The maximum length of a content's description, in bytes including '\0'.
static const uint | NETWORK_CONTENT_TAG_LENGTH = 32
| The maximum length of a content's tag, in bytes including '\0'.
static const uint | NETWORK_ERROR_DETAIL_LENGTH = 100
| The maximum length of the error detail, in bytes including '\0'.
static const uint | NETWORK_INVITE_CODE_LENGTH = 64
| The maximum length of the invite code, in bytes including '\0'.
static const uint | NETWORK_INVITE_CODE_SECRET_LENGTH = 80
| The maximum length of the invite code secret, in bytes including '\0'.
static const uint | NETWORK_TOKEN_LENGTH = 64
| The maximum length of a token, in bytes including '\0'.
static const uint | NETWORK_GRF_NAME_LENGTH = 80
| Maximum length of the name of a GRF.
static const uint | NETWORK_MAX_GRF_COUNT = 255
| Maximum number of GRFs that can be sent. More...

## Detailed Description

Configuration options of the network stuff. It is used even when compiling without network support.

Definition in file config.h.

## Function Documentation

## ◆ NetworkContentMirrorConnectionString()

const char* NetworkContentMirrorConnectionString | ( |  | ) |

Get the connection string for the content mirror from the environment variable OTTD_CONTENT_MIRROR_CS, or when it has not been set a hard coded default DNS hostname of the production server.

Returns
  The content mirror's connection string.

Definition at line 66 of file config.cpp.

References GetEnv().

## ◆ NetworkContentServerConnectionString()

const char* NetworkContentServerConnectionString | ( |  | ) |

Get the connection string for the content server from the environment variable OTTD_CONTENT_SERVER_CS, or when it has not been set a hard coded default DNS hostname of the production server.

Returns
  The content server's connection string.

Definition at line 56 of file config.cpp.

References GetEnv().

Referenced by ClientNetworkContentSocketHandler::Connect().

## ◆ NetworkCoordinatorConnectionString()

const char* NetworkCoordinatorConnectionString | ( |  | ) |

Get the connection string for the game coordinator from the environment variable OTTD_COORDINATOR_CS, or when it has not been set a hard coded default DNS hostname of the production server.

Returns
  The game coordinator's connection string.

Definition at line 36 of file config.cpp.

References GetEnv().

## ◆ NetworkStunConnectionString()

const char* NetworkStunConnectionString | ( |  | ) |

Get the connection string for the STUN server from the environment variable OTTD_STUN_CS, or when it has not been set a hard coded default DNS hostname of the production server.

Returns
  The STUN server's connection string.

Definition at line 46 of file config.cpp.

References GetEnv().

Referenced by ClientNetworkStunSocketHandler::Connect().

## Variable Documentation

## ◆ NETWORK_MAX_GRF_COUNT

const uint NETWORK_MAX_GRF_COUNT = 255
| static

Maximum number of GRFs that can be sent.

This limit exists to avoid that the SERVER_INFO packet exceeding the maximum MTU. At the time of writing this limit is 32767 (TCP_MTU).

In the SERVER_INFO packet is the NetworkGameInfo struct, which is 142 bytes + 100 per NewGRF (under the assumption strings are used to their max). This brings us to roughly 326 possible NewGRFs. Round it down so people don't freak out because they see a weird value, and you get the limit: 255.

PS: in case you ever want to raise this number, please be mindful that "amount of NewGRFs" in NetworkGameInfo is currently an uint8.

Definition at line 95 of file config.h.

Referenced by NewGRFWindow::AddGRFToActive(), DeserializeNetworkGameInfo(), and GRFLoadConfig().