about summary refs log tree commit diff
path: root/src/engine/server
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-11 08:48:48 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-11 08:48:48 +0000
commit0883fc3dfd51d8dda9a9dc055400871057cfe3a2 (patch)
tree0997e2fd46fdbd68c701c6dc5b500882091faaa9 /src/engine/server
parent1d98b33ec21827aab21a5afef27c8abf6c510507 (diff)
downloadzcatch-0883fc3dfd51d8dda9a9dc055400871057cfe3a2.tar.gz
zcatch-0883fc3dfd51d8dda9a9dc055400871057cfe3a2.zip
cleaned up some console stuff
Diffstat (limited to 'src/engine/server')
-rw-r--r--src/engine/server/es_server.c54
1 files changed, 25 insertions, 29 deletions
diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c
index abf6bf21..cf747716 100644
--- a/src/engine/server/es_server.c
+++ b/src/engine/server/es_server.c
@@ -803,27 +803,6 @@ static void server_send_serverinfo(NETADDR4 *addr, int lan)
 	netserver_send(net, &packet);
 }
 
-static void server_dump_status()
-{
-	int i;
-	NETADDR4 addr;
-	dbg_msg("server", "-- status --");
-	for(i = 0; i < MAX_CLIENTS; i++)
-	{
-		if(clients[i].state == SRVCLIENT_STATE_INGAME)
-		{
-			netserver_client_addr(net, i, &addr);
-			dbg_msg("server", "id=%d addr=%d.%d.%d.%d:%d name='%s' score=%d",
-				i, addr.ip[0], addr.ip[1], addr.ip[2], addr.ip[3], addr.port,
-				clients[i].name, clients[i].score);
-		}
-	}
-	dbg_msg("server", "-- end status --");
-
-	config.sv_status = 0;
-}
-			
-
 extern int register_process_packet(NETPACKET *packet);
 extern int register_update();
 
@@ -1073,12 +1052,6 @@ static int server_run()
 				reporttime += time_freq()*reportinterval;
 			}
 			
-			if(config.sv_status)
-			{
-				server_dump_status();
-				config.sv_status = 0;
-			}
-			
 			/* wait for incomming data */
 			net_socket_read_wait(netserver_socket(net), 5);
 		}
@@ -1090,10 +1063,33 @@ static int server_run()
 	return 0;
 }
 
+static void con_kick(void *result, void *user_data)
+{
+	int cid;
+	console_result_int(result, 1, &cid);
+	server_kick(cid, "kicked by console");
+}
+
+static void con_status(void *result, void *user_data)
+{
+	int i;
+	NETADDR4 addr;
+	for(i = 0; i < MAX_CLIENTS; i++)
+	{
+		if(clients[i].state == SRVCLIENT_STATE_INGAME)
+		{
+			netserver_client_addr(net, i, &addr);
+			dbg_msg("server", "id=%d addr=%d.%d.%d.%d:%d name='%s' score=%d",
+				i, addr.ip[0], addr.ip[1], addr.ip[2], addr.ip[3], addr.port,
+				clients[i].name, clients[i].score);
+		}
+	}
+}
+
 static void server_register_commands()
 {
-	/* kick */
-	/* status */
+	MACRO_REGISTER_COMMAND("kick", "i", con_kick, 0);
+	MACRO_REGISTER_COMMAND("status", "", con_status, 0);
 }
 
 int main(int argc, char **argv)