From 1afd7515abec58eb80a599b0994415253725c956 Mon Sep 17 00:00:00 2001 From: ac-stef Date: Sun, 28 Feb 2016 14:09:48 +0100 Subject: [PATCH] simplify masterserver type selection Use a plain cubescript variable instead of a commandline switch. mastertype 0: classic direct TCP connection 1: HTTP connection (via proxy) (default) DOCREF mastertype "--mastertype=" --- source/src/cube.h | 2 -- source/src/protos.h | 7 +------ source/src/serverbrowser.cpp | 4 +++- source/src/serverms.cpp | 2 +- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/source/src/cube.h b/source/src/cube.h index 71c87a92..8ab326ab 100644 --- a/source/src/cube.h +++ b/source/src/cube.h @@ -61,8 +61,6 @@ extern float waterlevel; #define AC_VERSION 1202 #define AC_MASTER_URI "ms.cubers.net" #define AC_MASTER_PORT 28760 -#define AC_MASTER_HTTP 1 // default -#define AC_MASTER_RAW 0 #define MAXCL 16 #define CONFIGROTATEMAX 5 // keep 5 old versions of saved.cfg and init.cfg around diff --git a/source/src/protos.h b/source/src/protos.h index 052dcfc5..afec14de 100644 --- a/source/src/protos.h +++ b/source/src/protos.h @@ -1045,7 +1045,7 @@ extern void filterrichtext(char *dst, const char *src, int len = sizeof(string)- extern void filterlang(char *d, const char *s); extern void trimtrailingwhitespace(char *s); extern string mastername; -extern int masterport, mastertype; +extern int masterport; extern ENetSocket connectmaster(); extern void serverms(int mode, int numplayers, int minremain, char *smapname, int millis, const ENetAddress &localaddr, int *mnum, int *msend, int *mrec, int *cnum, int *csend, int *crec, int protocol_version); extern int msgsizelookup(int msg); @@ -1156,11 +1156,6 @@ struct servercommandline int ai = atoi(arg+13); masterport = ai == 0 ? AC_MASTER_PORT : ai; } - else if(!strncmp(arg, "--mastertype=", 13)) - { - int ai = atoi(arg+13); - mastertype = ai > 0 ? 1 : 0; - } else return false; break; case 'u': uprate = ai; break; diff --git a/source/src/serverbrowser.cpp b/source/src/serverbrowser.cpp index 120def69..a57a356c 100644 --- a/source/src/serverbrowser.cpp +++ b/source/src/serverbrowser.cpp @@ -1325,9 +1325,11 @@ int progress_callback_retrieveservers(void *data, float progress) return interceptkey(SDLK_ESCAPE) ? 1 : 0; } +VARP(mastertype, 0, 1, 1); // 0: TCP direct, 1: HTTP proxy + void retrieveservers(vector &data) { - if(mastertype == AC_MASTER_HTTP) + if(mastertype) { httpget h; defformatstring(progresstext)("resolving %s", mastername); diff --git a/source/src/serverms.cpp b/source/src/serverms.cpp index 6d0e7eaf..461461b0 100644 --- a/source/src/serverms.cpp +++ b/source/src/serverms.cpp @@ -19,7 +19,7 @@ int connectwithtimeout(ENetSocket sock, const char *hostname, ENetAddress &remot ENetSocket mastersock = ENET_SOCKET_NULL; ENetAddress masteraddress = { ENET_HOST_ANY, ENET_PORT_ANY }, serveraddress = { ENET_HOST_ANY, ENET_PORT_ANY }; string mastername = AC_MASTER_URI; -int masterport = AC_MASTER_PORT, mastertype = AC_MASTER_HTTP; +int masterport = AC_MASTER_PORT; int lastupdatemaster = 0; vector masterout, masterin; int masteroutpos = 0, masterinpos = 0;