40 #define MULTI_OPTION_SERVER 0 // server update follows
41 #define MULTI_OPTION_LOCAL 1 // local netplayer options follow
42 #define MULTI_OPTION_START_GAME 2 // host's start game options on the standalone server
43 #define MULTI_OPTION_MISSION 3 // host's mission selection stuff on a standalone server
46 #define MULTI_CFG_FILE NOX("multi.cfg")
57 #define NEXT_TOKEN() do { tok = strtok(NULL, "\n"); if(tok != NULL){ drop_leading_white_space(tok); drop_trailing_white_space(tok); } } while(0);
58 #define SETTING(s) ( !stricmp(tok, s) )
66 Multi_options_g.
reset();
78 nprintf((
"Network",
"Failed to open network config file, using default settings\n"));
80 while ( !
cfeof(in) ) {
86 tok = strtok(str,
" \t");
119 if (
SETTING(
"+max_players") ) {
122 if ( !((atoi(tok) < 1) || (atoi(tok) >
MAX_PLAYERS)) ) {
142 SetWindowText(Multi_std_host_passwd, Multi_options_g.
std_passwd);
150 if (
SETTING(
"+low_update") ) {
154 if (
SETTING(
"+med_update") ) {
158 if (
SETTING(
"+high_update") ) {
162 if (
SETTING(
"+lan_update") ) {
177 if (
SETTING(
"+pxo_password") ) {
183 if (
SETTING(
"+webui_root") ) {
189 if (
SETTING(
"+webapi_username") ) {
195 if (
SETTING(
"+webapi_password") ) {
201 if (
SETTING(
"+webapi_server_port") ) {
204 long int result = strtol(tok, NULL, 10);
206 mprintf((
"ERROR: Invalid or out of range webapi_server_port '%s' specified in multi.cfg, must be integer between 1024 and %i.\n", tok, USHRT_MAX));
208 else if(result < 1024) {
209 mprintf((
"ERROR: webapi_server_port '%ld' in multi.cfg is too low, must be between 1024 and %d.\n", result, USHRT_MAX));
212 mprintf((
"Using webapi_server_port '%ld' from multi.cfg.\n", result));
222 if (
SETTING(
"+user_server") ) {
229 if (
SETTING(
"+game_server") ) {
236 if (
SETTING(
"+server_port") ) {
243 if (
SETTING(
"+chat_server") ) {
257 if (
SETTING(
"+create_url") ) {
264 if (
SETTING(
"+verify_url") ) {
271 if (
SETTING(
"+banner_url") ) {
281 if ( atoi(tok) >= 4000 ) {
287 if (
SETTING(
"+http_proxy") ) {
290 char *ip = strtok(tok,
":");
296 ip = strtok(NULL,
"");
559 code = (
ubyte)campaign_mode;
581 int idx,player_index;
588 if (player_index < 0) {
589 nprintf((
"Network",
"Received packet from unknown player!\n"));
629 int campaign_type,max_players;
642 mprintf((
"STANDALONE TURNED ON SQUAD WAR!!\n"));
749 if(player_index == -1){
#define MULTI_TRACKER_STRING_LEN
#define NG_MODE_RANK_BELOW
char pxo_squad_name[LOGIN_LEN]
char pxo_banner_url[MULTI_OPTIONS_STRING_LEN]
uint os_config_read_uint(const char *section, const char *name, uint default_value)
HWND Multi_std_host_passwd
char Multi_tracker_squad_name[MULTI_TRACKER_STRING_LEN+1]
char Multi_fs_tracker_channel[MAX_PATH]
void multi_options_update_mission(netgame_info *ng, int campaign_mode)
void multi_options_set_local_defaults(multi_local_options *options)
char Game_current_mission_filename[MAX_FILENAME_LEN]
char tracker_port[STD_NAME_LEN]
void drop_trailing_white_space(char *str)
#define PACKET_SET_SIZE()
multi_server_options m_server_options
void multi_options_update_local()
void std_multi_update_netgame_info_controls()
char pxo_verify_url[MULTI_OPTIONS_STRING_LEN]
void multi_io_send_to_all_reliable(ubyte *data, int length, net_player *ignore)
#define MULTI_OPTION_SERVER
void multi_io_send_reliable(net_player *pl, ubyte *data, int len)
int find_player_id(short player_id)
#define MLO_FLAG_TEMP_CLOSED
ushort Multi_options_proxy_port
void send_netgame_update_packet(net_player *pl)
std::basic_string< char, std::char_traits< char >, std::allocator< char > > SCP_string
int mission_campaign_get_info(const char *filename, char *name, int *type, int *max_players, char **desc)
char std_pxo_password[MULTI_OPTIONS_STRING_LEN]
void std_multi_set_standalone_mission_name(char *mission_name)
void get_local_options(ubyte *data, int *size, multi_local_options *mlo)
#define MULTI_OPTION_START_GAME
void multi_options_read_config()
#define NG_MODE_RANK_ABOVE
#define NETINFO_FLAG_AM_MASTER
void multi_options_process_packet(unsigned char *data, header *hinfo)
void multi_options_update_start_game(netgame_info *ng)
SCP_string webapiPassword
multi_server_options options
char name[MAX_GAMENAME_LEN+1]
#define MSO_FLAG_INGAME_XFER
char * cfgets(char *buf, int n, CFILE *cfile)
#define DEFAULT_GAME_PORT
char game_tracker_ip[MULTI_OPTIONS_STRING_LEN]
void add_local_options(ubyte *data, int *size, multi_local_options *mlo)
#define MULTI_OPTION_LOCAL
void multi_voice_maybe_update_vars(int new_qos, int new_duration)
void std_configLoaded(multi_global_options *options)
multi_local_options m_local_options
void multi_options_netgame_load(multi_server_options *options)
SCP_string webapiUsername
char mission_name[NAME_LENGTH+1]
#define NETINFO_FLAG_GAME_HOST
char passwd[MAX_PASSWD_LEN+1]
char campaign_name[NAME_LENGTH+1]
int mission_parse_get_multi_mission_info(const char *filename)
void std_add_ban(const char *name)
#define GM_STANDALONE_SERVER
void add_server_options(ubyte *data, int *size, multi_server_options *mso)
void multi_options_local_load(multi_local_options *options, net_player *pxo_pl)
char pxo_create_url[MULTI_OPTIONS_STRING_LEN]
#define MSO_FLAG_NO_VOICE
void multi_options_update_netgame()
#define NG_FLAG_TEMP_CLOSED
#define MULTI_CONNECTED(np)
#define OBJ_UPDATE_MEDIUM
char user_tracker_ip[MULTI_OPTIONS_STRING_LEN]
void std_connect_set_gamename(char *name)
char std_pname[STD_NAME_LEN+1]
GLenum GLsizei GLenum GLenum const GLvoid * data
#define MLO_FLAG_LOCAL_BROADCAST
#define MSO_FLAG_ACCEPT_PIX
#define MLO_FLAG_ACCEPT_PIX
void drop_leading_white_space(char *str)
void get_server_options(ubyte *data, int *size, multi_server_options *mso)
char pxo_rank_url[MULTI_OPTIONS_STRING_LEN]
void fs2netd_gameserver_update(bool force)
#define MULTI_OPTION_MISSION
char Multi_options_proxy[512]
char pxo_ip[MULTI_OPTIONS_STRING_LEN]
int cfclose(CFILE *cfile)
char std_pxo_login[MULTI_OPTIONS_STRING_LEN]
SCP_string webuiRootDirectory
#define MULTI_IS_TRACKER_GAME
net_player Net_players[MAX_PLAYERS]
multi_global_options Multi_options_g
multi_local_options options
void multi_options_set_netgame_defaults(multi_server_options *options)
#define NETWORK_CONNECTION_DIALUP
char std_passwd[STD_PASSWD_LEN+1]