summaryrefslogtreecommitdiff
path: root/network_server.c
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2004-12-12 16:04:32 +0000
committertruelight <truelight@openttd.org>2004-12-12 16:04:32 +0000
commit0e79314353e7cf50677125c362835aabc475631c (patch)
treefca8d0b096bbb58854b3d8bb840a8213aa9f8395 /network_server.c
parent5221f35182beb396615dc8bcd2e902828a83aa65 (diff)
downloadopenttd-0e79314353e7cf50677125c362835aabc475631c.tar.xz
(svn r1026) -Add: [Network] Added unique id, so in network, each client has an
unique id (generated via md5)
Diffstat (limited to 'network_server.c')
-rw-r--r--network_server.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/network_server.c b/network_server.c
index 6ce107d73..fdb888689 100644
--- a/network_server.c
+++ b/network_server.c
@@ -34,6 +34,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(ClientState *cs, Networ
// uint16: The index of the client (always unique on a server. 1 = server)
// uint8: As which player the client is playing
// String: The name of the client
+ // String: The unique id of the client
//
Packet *p;
@@ -43,6 +44,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(ClientState *cs, Networ
NetworkSend_uint16(p, ci->client_index);
NetworkSend_uint8 (p, ci->client_playas);
NetworkSend_string(p, ci->client_name);
+ NetworkSend_string(p, ci->unique_id);
NetworkSend_Packet(p, cs);
}
@@ -564,6 +566,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMPANY_INFO)
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
{
char name[NETWORK_NAME_LENGTH];
+ char unique_id[NETWORK_NAME_LENGTH];
NetworkClientInfo *ci;
char test_name[NETWORK_NAME_LENGTH];
byte playas;
@@ -589,6 +592,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
NetworkRecv_string(p, name, sizeof(name));
playas = NetworkRecv_uint8(p);
client_lang = NetworkRecv_uint8(p);
+ NetworkRecv_string(p, unique_id, sizeof(unique_id));
// Check if someone else already has that name
snprintf(test_name, sizeof(test_name), "%s", name);
@@ -607,6 +611,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
ci = DEREF_CLIENT_INFO(cs);
snprintf(ci->client_name, sizeof(ci->client_name), "%s", test_name);
+ snprintf(ci->unique_id, sizeof(ci->unique_id), "%s", unique_id);
ci->client_playas = playas;
ci->client_lang = client_lang;