MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / NetworkServerStart

Function NetworkServerStart

src/network/network.cpp:891–940  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

889}
890
891bool NetworkServerStart()
892{
893 if (!_network_available) return false;
894
895 /* Call the pre-scripts */
896 IConsoleCmdExec("exec scripts/pre_server.scr 0");
897 if (_network_dedicated) IConsoleCmdExec("exec scripts/pre_dedicated.scr 0");
898
899 /* Check for the client and server names to be set, but only after the scripts had a chance to set them.*/
900 if (_network_dedicated) CheckClientAndServerName();
901
902 NetworkDisconnect(false);
903 NetworkInitialize(false);
904 NetworkUDPInitialize();
905 Debug(net, 5, "Starting listeners for clients");
906 if (!ServerNetworkGameSocketHandler::Listen(_settings_client.network.server_port)) return false;
907
908 /* Only listen for admins when the authentication is configured. */
909 if (_settings_client.network.AdminAuthenticationConfigured()) {
910 Debug(net, 5, "Starting listeners for admins");
911 if (!ServerNetworkAdminSocketHandler::Listen(_settings_client.network.server_admin_port)) return false;
912 }
913
914 /* Try to start UDP-server */
915 Debug(net, 5, "Starting listeners for incoming server queries");
916 NetworkUDPServerListen();
917
918 _network_server = true;
919 _networking = true;
920 _frame_counter = 0;
921 _frame_counter_server = 0;
922 _frame_counter_max = 0;
923 _last_sync_frame = 0;
924 _network_own_client_id = CLIENT_ID_SERVER;
925
926 _network_clients_connected = 0;
927
928 NetworkInitGameInfo();
929
930 if (_settings_client.network.server_game_type != SERVER_GAME_TYPE_LOCAL) {
931 _network_coordinator_client.Register();
932 }
933
934 /* execute server initialization script */
935 IConsoleCmdExec("exec scripts/on_server.scr 0");
936 /* if the server is dedicated ... add some other script */
937 if (_network_dedicated) IConsoleCmdExec("exec scripts/on_dedicated.scr 0");
938
939 return true;
940}
941
942/**
943 * Perform tasks when the server is started. This consists of things

Callers 1

SwitchToModeFunction · 0.85

Calls 9

IConsoleCmdExecFunction · 0.85
CheckClientAndServerNameFunction · 0.85
NetworkDisconnectFunction · 0.85
NetworkInitializeFunction · 0.85
NetworkUDPInitializeFunction · 0.85
NetworkUDPServerListenFunction · 0.85
NetworkInitGameInfoFunction · 0.85
RegisterMethod · 0.45

Tested by

no test coverage detected