mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 01:58:19 +00:00
fixed sorting for the server browsing. added mass server script that starts alot of servers
This commit is contained in:
parent
fa05b5e2de
commit
19aaea9bfd
51
scripts/mass_server.py
Normal file
51
scripts/mass_server.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
#from random import choice
|
||||
|
||||
import random
|
||||
import os
|
||||
|
||||
masterservers = ["localhost 8383"]
|
||||
|
||||
maps = [
|
||||
["dm1", "dm2", "dm6"],
|
||||
["dm1", "dm2", "dm6"],
|
||||
["ctf1", "ctf2", "ctf3"],
|
||||
]
|
||||
|
||||
servernames = [
|
||||
"%s playhouse",
|
||||
"%s own server",
|
||||
]
|
||||
|
||||
nicks = []
|
||||
for l in file("scripts/nicks.txt"):
|
||||
nicks += l.replace(":port80c.se.quakenet.org 353 matricks_ = #pcw :", "").strip().split()
|
||||
inick = 0
|
||||
|
||||
def get_nick():
|
||||
global inick, nicks
|
||||
inick += 1
|
||||
return nicks[inick].replace("`", "\`")
|
||||
|
||||
for s in xrange(0, 150):
|
||||
cmd = "./fake_server_d_d "
|
||||
cmd += '-n "%s" ' % (random.choice(servernames) % get_nick())
|
||||
for m in masterservers:
|
||||
cmd += '-m %s '%m
|
||||
|
||||
max = random.randint(2, 16)
|
||||
cmd += "-x %d " % max
|
||||
|
||||
t = random.randint(0, 2)
|
||||
|
||||
cmd += '-a "%s" ' % random.choice(maps[t])
|
||||
cmd += '-g %d ' % random.randint(0, 100)
|
||||
cmd += '-t %d ' % t # dm, tdm, ctf
|
||||
#cmd += "-f %d " % random.randint(0, 2) # dm, tdm, ctf
|
||||
|
||||
|
||||
for p in xrange(0, random.randint(0, max)):
|
||||
cmd += '-p "%s" %d ' % (get_nick(), random.randint(0, 20))
|
||||
|
||||
print cmd
|
||||
os.popen2(cmd)
|
||||
|
|
@ -387,6 +387,54 @@ static void client_serverbrowse_init()
|
|||
{
|
||||
}
|
||||
|
||||
static int serverbrowse_sort = BROWSESORT_NONE;
|
||||
|
||||
static int client_serverbrowse_sort_compare_name(const void *ai, const void *bi)
|
||||
{
|
||||
SERVERENTRY **a = (SERVERENTRY **)ai;
|
||||
SERVERENTRY **b = (SERVERENTRY **)bi;
|
||||
return strcmp((*a)->info.name, (*b)->info.name);
|
||||
}
|
||||
|
||||
static int client_serverbrowse_sort_compare_map(const void *ai, const void *bi)
|
||||
{
|
||||
SERVERENTRY **a = (SERVERENTRY **)ai;
|
||||
SERVERENTRY **b = (SERVERENTRY **)bi;
|
||||
return strcmp((*a)->info.map, (*b)->info.map);
|
||||
}
|
||||
|
||||
static int client_serverbrowse_sort_compare_ping(const void *ai, const void *bi)
|
||||
{
|
||||
SERVERENTRY **a = (SERVERENTRY **)ai;
|
||||
SERVERENTRY **b = (SERVERENTRY **)bi;
|
||||
return (*a)->info.latency > (*b)->info.latency;
|
||||
}
|
||||
|
||||
static int client_serverbrowse_sort_compare_numplayers(const void *ai, const void *bi)
|
||||
{
|
||||
SERVERENTRY **a = (SERVERENTRY **)ai;
|
||||
SERVERENTRY **b = (SERVERENTRY **)bi;
|
||||
return (*a)->info.num_players > (*b)->info.num_players;
|
||||
}
|
||||
|
||||
static void client_serverbrowse_sort()
|
||||
{
|
||||
if(serverbrowse_sort == BROWSESORT_NAME)
|
||||
qsort(serverlist, num_servers, sizeof(SERVERENTRY *), client_serverbrowse_sort_compare_name);
|
||||
else if(serverbrowse_sort == BROWSESORT_PING)
|
||||
qsort(serverlist, num_servers, sizeof(SERVERENTRY *), client_serverbrowse_sort_compare_ping);
|
||||
else if(serverbrowse_sort == BROWSESORT_MAP)
|
||||
qsort(serverlist, num_servers, sizeof(SERVERENTRY *), client_serverbrowse_sort_compare_map);
|
||||
else if(serverbrowse_sort == BROWSESORT_NUMPLAYERS)
|
||||
qsort(serverlist, num_servers, sizeof(SERVERENTRY *), client_serverbrowse_sort_compare_numplayers);
|
||||
}
|
||||
|
||||
void client_serverbrowse_set_sort(int mode)
|
||||
{
|
||||
serverbrowse_sort = mode;
|
||||
client_serverbrowse_sort(); /* resort */
|
||||
}
|
||||
|
||||
static void client_serverbrowse_set(NETADDR4 *addr, int request, SERVER_INFO *info)
|
||||
{
|
||||
int hash = addr->ip[0];
|
||||
|
@ -399,6 +447,7 @@ static void client_serverbrowse_set(NETADDR4 *addr, int request, SERVER_INFO *in
|
|||
entry->info = *info;
|
||||
if(!request)
|
||||
entry->info.latency = (time_get()-entry->request_time)*1000/time_freq();
|
||||
client_serverbrowse_sort();
|
||||
return;
|
||||
}
|
||||
entry = entry->next_ip;
|
||||
|
@ -443,6 +492,8 @@ static void client_serverbrowse_set(NETADDR4 *addr, int request, SERVER_INFO *in
|
|||
first_req_server = entry;
|
||||
last_req_server = entry;
|
||||
}
|
||||
|
||||
client_serverbrowse_sort();
|
||||
}
|
||||
|
||||
void client_serverbrowse_refresh(int lan)
|
||||
|
@ -570,23 +621,6 @@ static void client_serverbrowse_update()
|
|||
count++;
|
||||
entry = entry->next_req;
|
||||
}
|
||||
|
||||
/*
|
||||
// timeout old requests
|
||||
while(info_request_begin < servers.num && info_request_begin < info_request_end)
|
||||
{
|
||||
if(now > servers.request_times[info_request_begin]+timeout)
|
||||
info_request_begin++;
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
// send new requests
|
||||
while(info_request_end < servers.num && info_request_end-info_request_begin < max_requests)
|
||||
{
|
||||
client_serverbrowse_request(info_request_end);
|
||||
info_request_end++;
|
||||
}*/
|
||||
}
|
||||
|
||||
// ------ state handling -----
|
||||
|
|
|
@ -26,6 +26,12 @@ enum
|
|||
CLIENTSTATE_LOADING,
|
||||
CLIENTSTATE_ONLINE,
|
||||
CLIENTSTATE_QUITING,
|
||||
|
||||
BROWSESORT_NONE = 0,
|
||||
BROWSESORT_NAME,
|
||||
BROWSESORT_PING,
|
||||
BROWSESORT_MAP,
|
||||
BROWSESORT_NUMPLAYERS,
|
||||
};
|
||||
|
||||
typedef struct
|
||||
|
@ -793,6 +799,7 @@ void client_rcon(const char *cmd);
|
|||
void client_serverbrowse_refresh(int lan);
|
||||
SERVER_INFO *client_serverbrowse_get(int index);
|
||||
int client_serverbrowse_num();
|
||||
void client_serverbrowse_set_sort(int mode);
|
||||
|
||||
/* undocumented graphics stuff */
|
||||
void gfx_pretty_text(float x, float y, float size, const char *text, int max_width);
|
||||
|
|
|
@ -182,6 +182,11 @@ int main(int argc, char **argv)
|
|||
argc--; argv++;
|
||||
player_scores[num_players] = atoi(*argv);
|
||||
}
|
||||
else if(strcmp(*argv, "-a") == 0)
|
||||
{
|
||||
argc--; argv++;
|
||||
map = *argv;
|
||||
}
|
||||
else if(strcmp(*argv, "-x") == 0)
|
||||
{
|
||||
argc--; argv++;
|
||||
|
@ -192,7 +197,7 @@ int main(int argc, char **argv)
|
|||
argc--; argv++;
|
||||
game_type = atoi(*argv);
|
||||
}
|
||||
else if(strcmp(*argv, "-p") == 0)
|
||||
else if(strcmp(*argv, "-g") == 0)
|
||||
{
|
||||
argc--; argv++;
|
||||
progression = atoi(*argv);
|
||||
|
|
Loading…
Reference in a new issue