mirror of https://github.com/OpenTTD/OpenTTD.git
Fix #12076: Do not allow 'join' command on dedicated servers
This commit is contained in:
parent
253ba0d354
commit
aff09306de
|
@ -155,6 +155,21 @@ DEF_CONSOLE_HOOK(ConHookNeedNetwork)
|
|||
return CHR_ALLOW;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether we are in a multiplayer game and are playing, i.e. we are not the dedicated server.
|
||||
* @return Are we a client or non-dedicated server in a network game? True when yes, false otherwise.
|
||||
*/
|
||||
DEF_CONSOLE_HOOK(ConHookNeedNonDedicatedNetwork)
|
||||
{
|
||||
if (!NetworkAvailable(echo)) return CHR_DISALLOW;
|
||||
|
||||
if (_network_dedicated) {
|
||||
if (echo) IConsolePrint(CC_ERROR, "This command is not available to a dedicated network server.");
|
||||
return CHR_DISALLOW;
|
||||
}
|
||||
return CHR_ALLOW;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether we are in singleplayer mode.
|
||||
* @return True when no network is active.
|
||||
|
@ -2693,7 +2708,7 @@ void IConsoleStdLibRegister()
|
|||
IConsole::CmdRegister("reconnect", ConNetworkReconnect, ConHookClientOnly);
|
||||
IConsole::CmdRegister("rcon", ConRcon, ConHookNeedNetwork);
|
||||
|
||||
IConsole::CmdRegister("join", ConJoinCompany, ConHookNeedNetwork);
|
||||
IConsole::CmdRegister("join", ConJoinCompany, ConHookNeedNonDedicatedNetwork);
|
||||
IConsole::AliasRegister("spectate", "join 255");
|
||||
IConsole::CmdRegister("move", ConMoveClient, ConHookServerOnly);
|
||||
IConsole::CmdRegister("reset_company", ConResetCompany, ConHookServerOnly);
|
||||
|
|
Loading…
Reference in New Issue