Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revision 15750) +++ src/lang/english.txt (working copy) @@ -1502,6 +1502,7 @@ STR_NETWORK_CHAT_OSKTITLE :{BLACK}Enter text for network chat STR_NETWORK_SERVER_SHUTDOWN :{WHITE} The server closed the session STR_NETWORK_SERVER_REBOOT :{WHITE} The server is restarting...{}Please wait... +STR_NETWORK_SERVER_CLIENT_JOINED :*** {RAW_STRING} has joined the game (#{2:NUM}) STR_NETWORK_SERVER :Server STR_NETWORK_CLIENT :Client Index: src/network/network_server.cpp =================================================================== --- src/network/network_server.cpp (revision 15750) +++ src/network/network_server.cpp (working copy) @@ -797,7 +797,7 @@ NetworkGetClientName(client_name, sizeof(client_name), cs); - NetworkTextMessage(NETWORK_ACTION_JOIN, CC_DEFAULT, false, client_name); + NetworkTextMessage(NETWORK_ACTION_JOIN, CC_DEFAULT, false, client_name, NULL, cs->client_id); /* Mark the client as pre-active, and wait for an ACK * so we know he is done loading and in sync with us */ Index: src/network/network.cpp =================================================================== --- src/network/network.cpp (revision 15750) +++ src/network/network.cpp (working copy) @@ -216,7 +216,7 @@ colour = CC_DEFAULT; strid = STR_NETWORK_CLIENT_COMPANY_NEW; break; - case NETWORK_ACTION_JOIN: strid = STR_NETWORK_CLIENT_JOINED; break; + case NETWORK_ACTION_JOIN: strid = _network_server ? STR_NETWORK_SERVER_CLIENT_JOINED : STR_NETWORK_CLIENT_JOINED; break; case NETWORK_ACTION_LEAVE: strid = STR_NETWORK_CLIENT_LEFT; break; case NETWORK_ACTION_NAME_CHANGE: strid = STR_NETWORK_NAME_CHANGE; break; case NETWORK_ACTION_GIVE_MONEY: strid = self_send ? STR_NETWORK_GAVE_MONEY_AWAY : STR_NETWORK_GIVE_MONEY; break;