equal
deleted
inserted
replaced
612 DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_NEWGRFS_CHECKED) |
612 DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_NEWGRFS_CHECKED) |
613 { |
613 { |
614 NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs); |
614 NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs); |
615 |
615 |
616 /* We now want a password from the client else we do not allow him in! */ |
616 /* We now want a password from the client else we do not allow him in! */ |
617 if (_network_game_info.use_password) { |
617 if (!StrEmpty(_settings_client.network.server_password)) { |
618 SEND_COMMAND(PACKET_SERVER_NEED_PASSWORD)(cs, NETWORK_GAME_PASSWORD); |
618 SEND_COMMAND(PACKET_SERVER_NEED_PASSWORD)(cs, NETWORK_GAME_PASSWORD); |
619 } else { |
619 } else { |
620 if (IsValidPlayer(ci->client_playas) && _network_player_info[ci->client_playas].password[0] != '\0') { |
620 if (IsValidPlayer(ci->client_playas) && _network_player_info[ci->client_playas].password[0] != '\0') { |
621 SEND_COMMAND(PACKET_SERVER_NEED_PASSWORD)(cs, NETWORK_COMPANY_PASSWORD); |
621 SEND_COMMAND(PACKET_SERVER_NEED_PASSWORD)(cs, NETWORK_COMPANY_PASSWORD); |
622 } else { |
622 } else { |
653 if (cs->has_quit) return; |
653 if (cs->has_quit) return; |
654 |
654 |
655 // join another company does not affect these values |
655 // join another company does not affect these values |
656 switch (playas) { |
656 switch (playas) { |
657 case PLAYER_NEW_COMPANY: /* New company */ |
657 case PLAYER_NEW_COMPANY: /* New company */ |
658 if (ActivePlayerCount() >= _network_game_info.companies_max) { |
658 if (ActivePlayerCount() >= _settings_client.network.max_companies) { |
659 SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_FULL); |
659 SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_FULL); |
660 return; |
660 return; |
661 } |
661 } |
662 break; |
662 break; |
663 case PLAYER_SPECTATOR: /* Spectator */ |
663 case PLAYER_SPECTATOR: /* Spectator */ |
664 if (NetworkSpectatorCount() >= _network_game_info.spectators_max) { |
664 if (NetworkSpectatorCount() >= _settings_client.network.max_spectators) { |
665 SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_FULL); |
665 SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_FULL); |
666 return; |
666 return; |
667 } |
667 } |
668 break; |
668 break; |
669 default: /* Join another company (companies 1-8 (index 0-7)) */ |
669 default: /* Join another company (companies 1-8 (index 0-7)) */ |
709 type = (NetworkPasswordType)p->Recv_uint8(); |
709 type = (NetworkPasswordType)p->Recv_uint8(); |
710 p->Recv_string(password, sizeof(password)); |
710 p->Recv_string(password, sizeof(password)); |
711 |
711 |
712 if (cs->status == STATUS_AUTHORIZING && type == NETWORK_GAME_PASSWORD) { |
712 if (cs->status == STATUS_AUTHORIZING && type == NETWORK_GAME_PASSWORD) { |
713 // Check game-password |
713 // Check game-password |
714 if (strcmp(password, _network_game_info.server_password) != 0) { |
714 if (strcmp(password, _settings_client.network.server_password) != 0) { |
715 // Password is invalid |
715 // Password is invalid |
716 SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_WRONG_PASSWORD); |
716 SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_WRONG_PASSWORD); |
717 return; |
717 return; |
718 } |
718 } |
719 |
719 |
1185 DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_RCON) |
1185 DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_RCON) |
1186 { |
1186 { |
1187 char pass[NETWORK_PASSWORD_LENGTH]; |
1187 char pass[NETWORK_PASSWORD_LENGTH]; |
1188 char command[NETWORK_RCONCOMMAND_LENGTH]; |
1188 char command[NETWORK_RCONCOMMAND_LENGTH]; |
1189 |
1189 |
1190 if (_network_game_info.rcon_password[0] == '\0') return; |
1190 if (StrEmpty(_settings_client.network.rcon_password)) return; |
1191 |
1191 |
1192 p->Recv_string(pass, sizeof(pass)); |
1192 p->Recv_string(pass, sizeof(pass)); |
1193 p->Recv_string(command, sizeof(command)); |
1193 p->Recv_string(command, sizeof(command)); |
1194 |
1194 |
1195 if (strcmp(pass, _network_game_info.rcon_password) != 0) { |
1195 if (strcmp(pass, _settings_client.network.rcon_password) != 0) { |
1196 DEBUG(net, 0, "[rcon] wrong password from client-id %d", cs->index); |
1196 DEBUG(net, 0, "[rcon] wrong password from client-id %d", cs->index); |
1197 return; |
1197 return; |
1198 } |
1198 } |
1199 |
1199 |
1200 DEBUG(net, 0, "[rcon] client-id %d executed: '%s'", cs->index, command); |
1200 DEBUG(net, 0, "[rcon] client-id %d executed: '%s'", cs->index, command); |