Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions src/game.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ static void bf1942_analyze_serverinfo (struct server *s);
static void descent3_analyze_serverinfo (struct server *s);
static void savage_analyze_serverinfo (struct server *s);
static void ottd_analyze_serverinfo (struct server *s);
static void teeworlds_analyze_serverinfo (struct server *s);

static int quake_config_is_valid (struct server *s);
static int config_is_valid_generic (struct server *s);
Expand Down Expand Up @@ -697,7 +698,7 @@ static struct player *q3_parse_player (char *token[], int n, struct server *s) {
clanlen = strlen(clan)+1;
}

if (s->type == WARSOW_SERVER && clan) {
if ((s->type == WARSOW_SERVER || s->type == WARFORK_SERVER) && clan) {
static const char* colors[] = { "spectator", "", "red", "blue", "green", "yellow" };
unsigned i = atoi(clan);
if (i > 5) i = 1;
Expand All @@ -718,7 +719,7 @@ static struct player *q3_parse_player (char *token[], int n, struct server *s) {

// show clan name in model column
if (clan) {
if (s->type == WARSOW_SERVER) {
if (s->type == WARSOW_SERVER || s->type == WARFORK_SERVER) {
player->model = (char*)clan;
}
else {
Expand Down Expand Up @@ -1958,10 +1959,6 @@ static void q3_analyze_serverinfo (struct server *s) {
else if (!strncmp(info_ptr[1], "KoRx", 4)) {
s->type=TREMULOUS_SERVER;
}
// Tremfusion
else if (!strncmp(info_ptr[1], "tremfusion", 10)) {
s->type=TREMFUSION_SERVER;
}
// Unvanquished
else if (!strncmp(info_ptr[1], "Unvanquished", 12)) {
s->type=UNVANQUISHED_SERVER;
Expand Down Expand Up @@ -2044,7 +2041,7 @@ static void q3_analyze_serverinfo (struct server *s) {
strcmp (*info_ptr, "g_gametypestring") == 0) {
s->gametype = info_ptr[1];
}
else if (s->type == WARSOW_SERVER &&
else if ((s->type == WARSOW_SERVER || s->type == WARFORK_SERVER) &&
strcmp (*info_ptr, "gametype") == 0) {
s->gametype = info_ptr[1];
}
Expand Down Expand Up @@ -2263,6 +2260,16 @@ static void doom3_analyze_serverinfo (struct server *s) {
}
}

static void teeworlds_analyze_serverinfo (struct server *s) {
char **info_ptr;

for (info_ptr = s->info; info_ptr && *info_ptr; info_ptr += 2) {
if (strcmp (*info_ptr, "gametype") == 0) {
s->gametype = info_ptr[1];
}
}
}

static void ottd_analyze_serverinfo (struct server *s) {
char **info_ptr;

Expand Down
130 changes: 94 additions & 36 deletions src/games.xml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,26 @@
<analyze_serverinfo>bf1942_analyze_serverinfo</analyze_serverinfo>
<exec_client>bf1942_exec</exec_client>
</game>
<game>
<base>Q3_SERVER</base>
<type>CDIESEL_SERVER</type>
<name>Cocaine Diesel</name>
<default_port>44400</default_port>
<id>CDIESELS</id>
<qstat_str>CDIESELS</qstat_str>
<qstat_option>-cdiesels</qstat_option>
<qstat_master_option>-cdieselm</qstat_master_option>
<icon>cdiesel.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<init_maps>q3_init_maps</init_maps>
<has_map>quake_has_map</has_map>
<get_mapshot>q3_get_mapshot</get_mapshot>
<command>client</command>
<default_home>~/.local/share/Cocaine Diesel</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs_common</update_prefs>
<main_mod>base</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>COD_SERVER</type>
Expand Down Expand Up @@ -187,6 +207,23 @@
<command>DDaynormandy</command>
<main_mod>dday</main_mod>
</game>
<game>
<type>DDNET_SERVER</type>
<flags>GAME_CONNECT | GAME_PASSWORD | GAME_RCON</flags>
<name>DDrace Network</name>
<default_port>8303</default_port>
<default_master_port>8300</default_master_port>
<id>DDNETS</id>
<qstat_str>TEES</qstat_str>
<qstat_option>-tees</qstat_option>
<qstat_master_option>-teem</qstat_master_option>
<icon>ddnet.xpm</icon>
<analyze_serverinfo>teeworlds_analyze_serverinfo</analyze_serverinfo>
<exec_client>teeworlds_exec</exec_client>
<command>DDNet</command>
<!-- It's the same as Teeworlds. -->
<default_home>~/.teeworlds</default_home>
</game>
<game>
<type>DESCENT3_SERVER</type>
<name>Descent3</name>
Expand Down Expand Up @@ -232,22 +269,6 @@
<attributes>+net_clientRemoteConsolePassword</attributes>
<attributes>+rconpassword</attributes>
</game>
<game>
<base>Q3_SERVER</base>
<type>ETL_SERVER</type>
<name>Enemy Territory: Legacy</name>
<id>ETLS</id>
<qstat_str>WOETS</qstat_str>
<qstat_option>-woets</qstat_option>
<qstat_master_option>-woetm</qstat_master_option>
<icon>etl.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>etl</command>
<default_home>~/.etlegacy</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs_common</update_prefs>
<main_mod>etmain</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>ETQW_SERVER</type>
Expand All @@ -272,6 +293,22 @@
<attributes>+net_clientRemoteConsolePassword</attributes>
<attributes>+rconpassword</attributes>
</game>
<game>
<base>Q3_SERVER</base>
<type>ETL_SERVER</type>
<name>ET: Legacy</name>
<id>ETLS</id>
<qstat_str>WOETS</qstat_str>
<qstat_option>-woets</qstat_option>
<qstat_master_option>-woetm</qstat_master_option>
<icon>etl.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>etl</command>
<default_home>~/.etlegacy</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs_common</update_prefs>
<main_mod>etmain</main_mod>
</game>
<game>
<type>HL_SERVER_OLD</type>
<name>Half-Life (old)</name>
Expand Down Expand Up @@ -455,6 +492,7 @@
<game>
<base>Q3_SERVER</base>
<type>NEXUIZ_SERVER</type>
<color_flags>COLOR_QUAKE3_NUMERIC</color_flags>
<name>Nexuiz</name>
<default_port>26000</default_port>
<id>NEXUIZS</id>
Expand Down Expand Up @@ -713,6 +751,25 @@
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>rq3</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>REXUIZ_SERVER</type>
<color_flags>COLOR_QUAKE3_NUMERIC</color_flags>
<name>Rexuiz</name>
<default_port>26000</default_port>
<id>REXUIZS</id>
<qstat_str>REXUIZS</qstat_str>
<qstat_option>-rexuizs</qstat_option>
<qstat_master_option>-rexuizm</qstat_master_option>
<icon>rexuiz.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<init_maps>xonotic_init_maps</init_maps>
<command>rexuiz</command>
<default_home>~/.rexuiz</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs_common</update_prefs>
<main_mod>data</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>WO_SERVER</type>
Expand Down Expand Up @@ -851,30 +908,11 @@
<qstat_option>-tees</qstat_option>
<qstat_master_option>-teem</qstat_master_option>
<icon>teeworlds.xpm</icon>
<analyze_serverinfo>teeworlds_analyze_serverinfo</analyze_serverinfo>
<exec_client>teeworlds_exec</exec_client>
<command>teeworlds</command>
<default_home>~/.teeworlds</default_home>
</game>
<game>
<base>Q3_SERVER</base>
<type>TREMFUSION_SERVER</type>
<flags>GAME_CONNECT | GAME_PASSWORD | GAME_RCON | GAME_MASTER_QUAKE3</flags>
<color_flags>COLOR_QUAKE3_NUMERIC | COLOR_QUAKE3_ALPHA</color_flags>
<name>TremFusion</name>
<default_port>30720</default_port>
<default_master_port>30710</default_master_port>
<id>TREMFUSIONS</id>
<qstat_str>TREMULOUSS</qstat_str>
<qstat_option>-tremulouss</qstat_option>
<qstat_master_option>-tremulousm</qstat_master_option>
<icon>tremfusion.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<command>tremfusion</command>
<default_home>~/.tremulous</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs</update_prefs>
<main_mod>base</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>TREMULOUS_SERVER</type>
Expand Down Expand Up @@ -1060,6 +1098,26 @@
<update_prefs>q3_update_prefs_common</update_prefs>
<main_mod>BaseEF</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>WARFORK_SERVER</type>
<name>Warfork</name>
<default_port>44400</default_port>
<id>WARFORKS</id>
<qstat_str>WARFORKS</qstat_str>
<qstat_option>-warforks</qstat_option>
<qstat_master_option>-warforkm</qstat_master_option>
<icon>warfork.xpm</icon>
<config_is_valid>config_is_valid_generic</config_is_valid>
<init_maps>q3_init_maps</init_maps>
<has_map>quake_has_map</has_map>
<get_mapshot>q3_get_mapshot</get_mapshot>
<command>warfork</command>
<default_home>~/.warfork</default_home>
<prefs_load>q3_prefs_load_common</prefs_load>
<update_prefs>q3_update_prefs_common</update_prefs>
<main_mod>basewf</main_mod>
</game>
<game>
<base>Q3_SERVER</base>
<type>WARSOW_SERVER</type>
Expand Down
37 changes: 30 additions & 7 deletions src/masters.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ static char *builtin_masters_update_info[] = {
*
*/

// removed game variant, removed 2025-07-21
"DELETE TREMFUSIONS http://www.qtracker.com/server_list_details.php?game=tremulous qtracker.com",
"DELETE TREMFUSIONS master://master.tremulous.net:30710 tremulous.net",

// does no longer work, removed 2025-07-19
"DELETE TEES master://master2.teeworlds.com teeworlds.com #2",
"DELETE TEES master://master3.teeworlds.com teeworlds.com #3",

// does not work yet, not added 2019-02-17
"DELETE Q2S:KP master://master.kingpin.info:27900 kingpin.info", // alias for gsm.qtracker.com on 2019-02-17
"DELETE Q2S:KP master://master0.kingpin.info:27900 kingpin.info #2", // alias for hypo.hambloch.com on 2019-02-17
Expand Down Expand Up @@ -184,6 +192,21 @@ static char *builtin_masters_update_info[] = {
*
*/

// added 2025-07-22
"ADD REXUIZS master://dpmaster.tchr.no:27950 tchr.no",
"ADD REXUIZS master://dpmaster.deathmask.net:27950 deathmask.net",

// added 2025-07-21
"ADD WARFORKS master://master1.forbidden.gg:27950 forbidden.gg #1",
"ADD WARFORKS master://master2.forbidden.gg:27777 forbidden.gg #2",
"ADD WARFORKS master://master3.forbidden.gg:42863 forbidden.gg #3",
"ADD CDIESELS master://dpmaster.deathmask.net deathmask.net",
"ADD CDIESELS master://excalibur.nvg.ntnu.no nvg.ntnu.no",

// added 2025-07-19
"ADD DDNETS master://master.ddnet.org ddnet.org",
"ADD TEES master://master4.teeworlds.com teeworlds.com #4",

// added 2019-02-17
"ADD Q2S:KP http://kingpin.hambloch.com/gspylitefavors.txt hambloch.com",

Expand Down Expand Up @@ -226,10 +249,6 @@ static char *builtin_masters_update_info[] = {
"ADD UNS,-gsm,ut gmaster://master2.oldunreal.com:28900 oldunreal.com #2",
"ADD UNS,-gsm,ut gmaster://master.newbiesplayground.net:28900 newbiesplayground.net",

// added 2018-03-18
"ADD TEES master://master2.teeworlds.com teeworlds.com #2",
"ADD TEES master://master3.teeworlds.com teeworlds.com #3",

// added 2017-04-09
"ADD CODUOS http://www.qtracker.com/server_list_details.php?game=callofdutyunitedoffensive qtracker.com",
"ADD CODUOS master://codmaster.activision.com activision.com",
Expand Down Expand Up @@ -284,7 +303,6 @@ static char *builtin_masters_update_info[] = {
"ADD SFS http://www.qtracker.com/server_list_details.php?game=soldieroffortune qtracker.com",
"ADD SOF2S http://www.qtracker.com/server_list_details.php?game=soldieroffortune2 qtracker.com",
"ADD T2S http://www.qtracker.com/server_list_details.php?game=tribes2 qtracker.com",
"ADD TREMFUSIONS http://www.qtracker.com/server_list_details.php?game=tremulous qtracker.com",
"ADD TREMULOUSS http://www.qtracker.com/server_list_details.php?game=tremulous qtracker.com",
"ADD WARSOWS http://www.qtracker.com/server_list_details.php?game=warsow qtracker.com",
"ADD WOETS http://www.qtracker.com/server_list_details.php?game=wolfensteinenemyterritory qtracker.com",
Expand Down Expand Up @@ -338,7 +356,6 @@ static char *builtin_masters_update_info[] = {
"ADD ETLS master://etmaster.idsoftware.com:27950 idsoftware.com",

// added 2014-09-28
"ADD TREMFUSIONS master://master.tremulous.net:30710 tremulous.net",
"ADD TREMULOUSGPPS master://master.tremulous.net:30700 tremulous.net",
"ADD TREMULOUSS master://master.tremulous.net:30710 tremulous.net",

Expand Down Expand Up @@ -430,16 +447,21 @@ static char *builtin_masters_update_info[] = {
"ADD QS http://www.gameaholic.com/servers/qspy-quake gameaholic.com",
"ADD SNS http://www.gameaholic.com/servers/qspy-sin gameaholic.com",

// lan servers from deleted games
"DELETE TREMFUSIONS lan://255.255.255.255 LAN",

// lan servers
"ADD ALIENARENAS lan://255.255.255.255 LAN",
"ADD AMS lan://255.255.255.255 LAN",
"ADD AQ2S lan://255.255.255.255 LAN",
"ADD CDIESELS lan://255.255.255.255 LAN",
"ADD CODS lan://255.255.255.255 LAN",
"ADD CODUOS lan://255.255.255.255 LAN",
"ADD COD2S lan://255.255.255.255 LAN",
"ADD COD4S lan://255.255.255.255 LAN",
"ADD CODWAWS lan://255.255.255.255 LAN",
"ADD DDAYS lan://255.255.255.255 LAN",
"ADD DDNETS lan://255.255.255.255 LAN",
"ADD DM3S lan://255.255.255.255 LAN",
"ADD EFS lan://255.255.255.255 LAN",
"ADD ETLS lan://255.255.255.255 LAN",
Expand All @@ -461,19 +483,20 @@ static char *builtin_masters_update_info[] = {
"ADD QS lan://255.255.255.255 LAN",
"ADD QWS lan://255.255.255.255 LAN",
"ADD REACTIONS lan://255.255.255.255 LAN",
"ADD REXUIZS lan://255.255.255.255 LAN",
"ADD RUNESRV lan://255.255.255.255 LAN",
"ADD SFS lan://255.255.255.255 LAN",
"ADD SMOKINGUNSS lan://255.255.255.255 LAN",
"ADD TEES lan://255.255.255.255 LAN",
"ADD T2S lan://255.255.255.255 LAN",
"ADD TREMFUSIONS lan://255.255.255.255 LAN",
"ADD TREMULOUSGPPS lan://255.255.255.255 LAN",
"ADD TREMULOUSS lan://255.255.255.255 LAN",
"ADD TURTLEARENAS lan://255.255.255.255 LAN",
"ADD UNS lan://255.255.255.255 LAN",
"ADD UNVANQUISHEDS lan://255.255.255.255 LAN",
"ADD UT2004S lan://255.255.255.255 LAN",
"ADD UT2S lan://255.255.255.255 LAN",
"ADD WARFORKS lan://255.255.255.255 LAN",
"ADD WARSOWS lan://255.255.255.255 LAN",
"ADD WOETS lan://255.255.255.255 LAN",
"ADD WOPS lan://255.255.255.255 LAN",
Expand Down
Loading