* * Version: 2.0.0-Alpha * * Licence: http://www.typefish.co.uk/licences/ */ include_once("SampRconAPI.php"); class RCON extends Script { public function onConstruct() { $this->addCommandHandler("banip", "banip"); $this->addCommandHandler("unbanip", "unbanip"); $this->addCommandHandler("loadfs", "loadfs"); $this->addCommandHandler("unloadfs", "unloadfs"); $this->addCommandHandler("reloadfs", "reloadfs"); $this->addCommandHandler("kick", "kick"); $this->addCommandHandler("ban", "ban"); $this->addCommandHandler("reloadbans", "reloadbans"); $this->addCommandHandler("exit", "restart"); $this->addCommandHandler("say", "say"); $this->addCommandHandler("changemode", "changemode"); } public function banip($sChannel, $sNickname, $sArguments) { if($this->isAdmin) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: banip [IP]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->addressBan($sArguments); // Just banned an address. $this->Message($sChannel, "IP Banned", FORMAT); $rcon->reloadBans(); } } public function unbanip($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: unbanip [IP]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->addressUnban($sArguments); // Just unbanned an address. $this->Message($sChannel, "IP Unbanned", FORMAT); $rcon->reloadBans(); } public function loadfs($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: loadfs [Filterscript]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->gameLoadFilterscript($sArguments); // Just loaded a filterscript. $this->Message($sChannel, "$sArguments Loaded", FORMAT); } public function unloadfs($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: unloadfs [Filterscript]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->gameUnloadFilterscript($sArguments); // Just unloaded a filterscript. $this->Message($sChannel, "$sArguments Unloaded", FORMAT); } public function reloadfs($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: reloadfs [Filterscript]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->gameReloadFilterscript($sArguments); // Just reloaded a filterscript. $this->Message($sChannel, "$sArguments Reloaded", FORMAT); } public function kick($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: kick [ID]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->playerKick($sArguments); // Just kicked a player id. $this->Message($sChannel, "ID $sArguments Kicked", FORMAT); } public function ban($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: ban [ID]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->playerBan($sArguments); // Just banned a player id. $this->Message($sChannel, "ID $sArguments Banned", FORMAT); } public function restart($sChannel, $sNickname, $sArguments) { $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->gameExit(); // Just shut down the server. $this->Message($sChannel, "Server Restarted", FORMAT); } public function reloadbans($sChannel, $sNickname, $sArguments) { $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->reloadBans(); // Just reloaded the bans. $this->Message($sChannel, "Bans Successfully Reloaded", FORMAT); } public function say($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: say [text]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->adminSay($sArguments); // Just sent a message to the server. $this->Message($sChannel, "Message to Server sent", FORMAT); } public function changemode($sChannel, $sNickname, $sArguments) { if(!$sArguments) { $this->Message($sChannel, 'USAGE: changemode [mode]'); return END_EVENT_EXEC; } $rcon = new SampRconAPI('127.0.0.1', 7777, 'pass'); $rcon->gameChangeMode($sArguments); // Just changed the mode. $this->Message($sChannel, "Mode Successfully changed to $sArguments", FORMAT); } }