Index: src/network/network_server.cpp =================================================================== --- src/network/network_server.cpp (revision 13751) +++ src/network/network_server.cpp (working copy) @@ -1440,13 +1440,13 @@ _network_player_info[p->index].months_empty++; /* Is the company empty for autoclean_unprotected-months, and is there no protection? */ - if (_network_player_info[p->index].months_empty > _settings_client.network.autoclean_unprotected && _network_player_info[p->index].password[0] == '\0') { + if (_settings_client.network.autoclean_unprotected >= 0 && _network_player_info[p->index].months_empty > _settings_client.network.autoclean_unprotected && _network_player_info[p->index].password[0] == '\0') { /* Shut the company down */ DoCommandP(0, 2, p->index, NULL, CMD_PLAYER_CTRL); IConsolePrintF(CC_DEFAULT, "Auto-cleaned company #%d", p->index + 1); } /* Is the compnay empty for autoclean_protected-months, and there is a protection? */ - if (_network_player_info[p->index].months_empty > _settings_client.network.autoclean_protected && _network_player_info[p->index].password[0] != '\0') { + if (_settings_client.network.autoclean_protected >= 0 && _network_player_info[p->index].months_empty > _settings_client.network.autoclean_protected && _network_player_info[p->index].password[0] != '\0') { /* Unprotect the company */ _network_player_info[p->index].password[0] = '\0'; IConsolePrintF(CC_DEFAULT, "Auto-removed protection from company #%d", p->index+1); Index: src/settings.cpp =================================================================== --- src/settings.cpp (revision 13751) +++ src/settings.cpp (working copy) @@ -1806,8 +1806,8 @@ SDTC_STR(network.connect_to_ip, SLE_STRB, S, 0, NULL, STR_NULL, NULL), SDTC_STR(network.network_id, SLE_STRB, S, NO, NULL, STR_NULL, NULL), SDTC_BOOL(network.autoclean_companies, S, NO, false, STR_NULL, NULL), - SDTC_VAR(network.autoclean_unprotected, SLE_UINT8, S, NO, 12, 0, 60, 0, STR_NULL, NULL), - SDTC_VAR(network.autoclean_protected, SLE_UINT8, S, NO, 36, 0, 180, 0, STR_NULL, NULL), + SDTC_VAR(network.autoclean_unprotected, SLE_INT, S, NO, 12, -1, 60, 0, STR_NULL, NULL), + SDTC_VAR(network.autoclean_protected, SLE_INT, S, NO, 36, -1, 180, 0, STR_NULL, NULL), SDTC_VAR(network.max_companies, SLE_UINT8, S, NO, 8, 1, MAX_PLAYERS, 0, STR_NULL, NULL), SDTC_VAR(network.max_clients, SLE_UINT8, S, NO, 10, 2, MAX_CLIENTS, 0, STR_NULL, NULL), SDTC_VAR(network.max_spectators, SLE_UINT8, S, NO, 10, 0, MAX_CLIENTS, 0, STR_NULL, NULL), Index: src/settings_type.h =================================================================== --- src/settings_type.h (revision 13751) +++ src/settings_type.h (working copy) @@ -106,8 +106,8 @@ char connect_to_ip[NETWORK_HOSTNAME_LENGTH]; ///< default for the "Add server" query char network_id[NETWORK_UNIQUE_ID_LENGTH]; ///< semi-unique ID of the client bool autoclean_companies; ///< automatically remove companies that are not in use - uint8 autoclean_unprotected; ///< remove passwordless companies after this many months - uint8 autoclean_protected; ///< remove the password from passworded companies after this many months + int autoclean_unprotected; ///< remove passwordless companies after this many months + int autoclean_protected; ///< remove the password from passworded companies after this many months uint8 max_companies; ///< maximum amount of companies uint8 max_clients; ///< maximum amount of clients uint8 max_spectators; ///< maximum amount of spectators