1
0

Lump in some core changes.

Squashed commit of the following:

commit f4ac029a0f1903fc9e49365117a81293303c8811
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Aug 2 23:23:15 2013 +0100

    Miscellaneous Changes

    Reduced ban/unban code size a little.
    Clarified console commands.
    Added commented code to onjoin when bugs are fixed.
    Removed embarrassing server wide messages.

commit da84f4977522ab48ead4af7a71efd43cdd4e3d0a
Merge: cc77056 a631484
Author: bearbin <bearbin@gmail.com>
Date:   Thu Aug 1 10:58:05 2013 -0700

    Merge pull request #10 from mc-server/tabmix

    Fix the inconsistency of spaces and tabs.

commit a6314849c2b474b6e17a245c91a2ac74c7acf7bf
Author: Alexander Harkness <bearbin@gmail.com>
Date:   Thu Aug 1 16:47:15 2013 +0100

    Changed everything to use the correct system of tabs.

commit cc7705645b6b387c618c9448fa6b0d5c789370c6
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Wed Jul 31 16:56:41 2013 +0100

    Rewrote Info Messages + Implemented #7 [SEE DESC]

    Standardisation of info messages: [INFO] [WARNING] [JOIN] [LEAVE]
    [FATALITY] with colours Green, Gold, Red, Rose, and Yellow.
    Individual worlds have individual LimitWorld setting, with individual
    WebAdmin setting as well.

commit 16cae4cdc0ec067e7e71fa5c5a3ba8c248ce063b
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Mon Jul 29 14:47:45 2013 +0100

    Fix of nil value in SpawnProtect

commit 7c33f75e7da7fc104112c17fcb53bc9f06fe09fc
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Mon Jul 29 13:19:11 2013 +0100

    Fixed potential SpawnProtect nil value issue

    Now detects if PROTECTRADIUS is zero, and if so, cancels checks.

commit 0c4a9d427620ab04ca01b5f31ed9b90530353d96
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Mon Jul 29 13:07:50 2013 +0100

    Enhanced SpawnProtect greatly (thanks xoft)

    Wow. Who knew ~30 lines of code could become one?

commit 17f5ef4fed0b6f32900cc7473563848466139655
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Mon Jul 29 11:11:22 2013 +0100

    Removed Development LOGINFOs

commit 02034bf2d67f2ae62092b0688d81338f7b0788df
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Mon Jul 29 10:40:57 2013 +0100

    Implemented Issue #5 Enhancement [SEE DESC]

    Made spawn protection configurable in each world's world file. World has
    to be listed in settings.ini!

commit ccc73db8c51e45372069ec0a42f437cfb25253b1
Merge: 6bf4b40 21c7c68
Author: Alexander Harkness <bearbin@gmail.com>
Date:   Sun Jul 28 14:00:15 2013 +0100

    Merge branch 'master' of github.com:tigerw/MCSCore into tigerw-master

    Conflicts:
    	main.lua

commit 21c7c68d20782a7dfd0d8f9ce0996397549dd425
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sun Jul 28 12:55:50 2013 +0100

    Default WorldLimiter = Off

commit 141298481f3adef30b68d0c4200204aa264cb3e2
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sun Jul 28 12:47:24 2013 +0100

    Fixed Potential WorldLimit & OnDisable Bugs

    Changed WorldLimiter if detection from nil value to config boolean.
    Changed OnDisable to use hardcoded name as Plugin:GetName was apparently
    a nil value. ??

commit 6bf4b40a0e27677afa6df9cb3521266e6b99c4f7
Merge: 1ca4217 bfd6c5f
Author: bearbin <bearbin@gmail.com>
Date:   Sat Jul 27 11:44:18 2013 -0700

    Merge pull request #3 from tonibm19/master

    Added /me command

commit bfd6c5f2a47cda4ac98a7225736e2669eaf61849
Author: tonibm19 <tonibm19@gmail.com>
Date:   Sat Jul 27 20:35:22 2013 +0200

    Added /me command

commit d25abaf44a6f5828b90297ff80003d2cd2a90be5
Author: tonibm19 <tonibm19@gmail.com>
Date:   Sat Jul 27 20:30:31 2013 +0200

    Added /me command

commit 9047f7778aa1cdd42d22c4dcf925db792b4d684e
Author: tonibm19 <tonibm19@gmail.com>
Date:   Sat Jul 27 20:29:24 2013 +0200

    added /me command

commit 1ca42172391d41ba71c65a3f15d3a96d15a80496
Merge: 52a6f4e 7a40336
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 09:01:45 2013 -0700

    Merge pull request #2 from tigerw/master

    Fixed /give descriptor & removed webadmin

commit 7a40336437525c447adae3d9800e75b39c0300c4
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 17:00:38 2013 +0100

    Fixed /give descriptor & removed webadmin

commit 52a6f4e35bdea2ae9f33977928b6693f5800e515
Merge: f5d56ff 2af1da8
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 08:51:45 2013 -0700

    Merge pull request #1 from tigerw/master

    Added TPA (tonibm9's fork)

commit 2af1da8a3cd8e94674b22805662b83de87ac4a95
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 16:38:10 2013 +0100

    Added TPA (tonibm9's fork)

    With code from STR_Warrior.

commit f5d56ffeb02fef4735e846661fa71d15622d25b9
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 15:51:18 2013 +0100

    Integrated SpawnProtect & Bugfixes [SEE DESC.]

    Integrated bearbin's SpawnProtect. Fixed config file bugs. Improved
    SpawnProtect to use settings.ini. Variable cleanup (SHOW_PLUGIN_NAMES).
    File and filename cleanup.

commit 56dc51c00af4514253c04e38b5ccc9fbed2f0022
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Jul 26 23:14:40 2013 +0100

    Update README.md

    Added info.

commit acd7e2849dcd7f3ee7bdc6b0f9b777ee1d9cbb3c
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Jul 26 19:37:59 2013 +0100

    Implemented Block Property checking for Collisions

    Used g_BlockIsSolid, instead of checking data values.

commit 246d423ff9660a2b00a1c51e6276ec74eb3419de
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Jul 26 15:49:55 2013 +0100

    Updated Files

    Buildpermandcollision: updated collision code to check for torches and
    redstone torches.
    Help: attempt at always showing page number
    Web_serversettings: attempt at introducing a check for Maximum Players
    (must be above zero).

commit 868f99ab49edeee78f4fc1c212c6bf614b860378
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 19:46:08 2013 +0100

    Update README.md

    Extended 'GUI Redesign' section.

commit e0df40bd082bdeb5c6823b485bc5001103a77502
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 19:43:00 2013 +0100

    Update README.md

    Added features and fixes and instructions for use.

commit 332d8221f753f1a38d6c21bfc30af5890f48e3bb
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 19:35:27 2013 +0100

    Uploaded All Files

    All Core files, both modified and unmodified.

commit 3dd191f6bed71c863ee264856fbc3660e52cf88b
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 04:59:50 2013 -0700

    Initial commit
This commit is contained in:
Alexander Harkness 2013-08-03 08:37:43 +01:00
parent 88ba86be57
commit f14b0ec7fd
4 changed files with 70 additions and 65 deletions

View File

@ -4,37 +4,22 @@ function HandleBanCommand( Split, Player )
return true return true
end end
local Reason = "You have been banned" local Reason = cChatColor.Red .. "You have been banned." .. cChatColor.White .. " Did you do something illegal?"
if( #Split > 2 ) then if( #Split > 2 ) then
Reason = table.concat(Split, " ", 3) Reason = table.concat(Split, " ", 3)
end end
if( BanPlayer(Split[2], Reason) == false ) then if KickPlayer(Split[2], Reason) == false then
Player:SendMessage(cChatColor.Rose .. "[INFO] " .. cChatColor.White .. "Could not find player " .. Split[2] ) BannedPlayersIni:DeleteValue("Banned", Split[2])
return true BannedPlayersIni:SetValueB("Banned", Split[2], true)
BannedPlayersIni:WriteFile()
Player:SendMessage(cChatColor.Green .. "[INFO] " .. cChatColor.White .. "Could not find player, but banned anyway" )
else
BannedPlayersIni:DeleteValue("Banned", Split[2])
BannedPlayersIni:SetValueB("Banned", Split[2], true)
BannedPlayersIni:WriteFile()
Player:SendMessage(cChatColor.Green .. "[INFO] " .. cChatColor.White .. "Successfully kicked and banned player" )
end end
return true
end
function BanPlayer(PlayerName, Reason)
-- Ban the player in the banned.ini:
BannedPlayersIni:SetValueB("Banned", PlayerName, true)
BannedPlayersIni:WriteFile()
-- Kick the player:
if (Reason == nil) then
Reason = "You have been banned"
end
local Success = KickPlayer(PlayerName, Reason)
if (not(Success)) then
return false;
end
LOGINFO("'" .. PlayerName .. "' has been banned (\"" .. Reason .. "\") ");
local Server = cRoot:Get():GetServer();
Server:SendMessage("Banned " .. PlayerName);
return true return true
end end
@ -45,16 +30,16 @@ function HandleUnbanCommand( Split, Player )
end end
if( BannedPlayersIni:GetValueB("Banned", Split[2], false) == false ) then if( BannedPlayersIni:GetValueB("Banned", Split[2], false) == false ) then
Player:SendMessage(cChatColor.Rose .. "[INFO] " .. cChatColor.White .. " is not banned!" ) Player:SendMessage(cChatColor.Rose .. "[INFO] " .. cChatColor.White .. Split[2] .. " is not banned!" )
return true return true
end end
BannedPlayersIni:SetValueB("Banned", Split[2], false, false) BannedPlayersIni:DeleteValue("Banned", Split[2])
BannedPlayersIni:SetValueB("Banned", Split[2], false)
BannedPlayersIni:WriteFile() BannedPlayersIni:WriteFile()
local Server = cRoot:Get():GetServer()
LOGINFO( Player:GetName() .. " is unbanning " .. Split[2] ) LOGINFO( Player:GetName() .. " is unbanning " .. Split[2] )
Server:SendMessage( "Unbanning " .. Split[2] ) Player:SendMessage(cChatColor.Green .. "[INFO] " .. cChatColor.White .. "Unbanning " .. Split[2] )
return true return true
end end

View File

@ -4,21 +4,22 @@ function InitConsoleCommands()
local PluginMgr = cPluginManager:Get(); local PluginMgr = cPluginManager:Get();
-- Please keep the list alpha-sorted -- Please keep the list alpha-sorted
PluginMgr:BindConsoleCommand("ban", HandleConsoleBan, "Bans a player by name"); PluginMgr:BindConsoleCommand("ban", HandleConsoleBan, " ~ Bans a player by name");
PluginMgr:BindConsoleCommand("unban", HandleConsoleUnban, "Unbans a player by name"); PluginMgr:BindConsoleCommand("unban", HandleConsoleUnban, " ~ Unbans a player by name");
PluginMgr:BindConsoleCommand("banlist", HandleConsoleBanList, "Lists all players banned by name"); PluginMgr:BindConsoleCommand("banlist", HandleConsoleBanList, " - Lists all players banned by name");
PluginMgr:BindConsoleCommand("banlist ips", HandleConsoleBanList, "Lists all players banned by IP"); PluginMgr:BindConsoleCommand("banlist ips", HandleConsoleBanList, " - Lists all players banned by IP");
PluginMgr:BindConsoleCommand("help", HandleConsoleHelp, "Lists all commands"); PluginMgr:BindConsoleCommand("help", HandleConsoleHelp, " - Lists all commands");
PluginMgr:BindConsoleCommand("list", HandleConsoleList, "Lists all players in a machine-readable format"); PluginMgr:BindConsoleCommand("list", HandleConsoleList, " - Lists all players in a machine-readable format");
PluginMgr:BindConsoleCommand("listgroups", HandleConsoleListGroups, "Shows a list of all the groups"); PluginMgr:BindConsoleCommand("listgroups", HandleConsoleListGroups, " - Shows a list of all the groups");
PluginMgr:BindConsoleCommand("numchunks", HandleConsoleNumChunks, "Shows number of chunks currently loaded"); PluginMgr:BindConsoleCommand("numchunks", HandleConsoleNumChunks, " - Shows number of chunks currently loaded");
PluginMgr:BindConsoleCommand("players", HandleConsolePlayers, "Lists all connected players"); PluginMgr:BindConsoleCommand("players", HandleConsolePlayers, " - Lists all connected players");
PluginMgr:BindConsoleCommand("primaryserverversion", HandleConsolePrimaryServerVersion, "Gets or sets server version reported to 1.4+ clients"); PluginMgr:BindConsoleCommand("getversion", HandleConsoleVersion, " - Gets server version reported to 1.4+ clients");
PluginMgr:BindConsoleCommand("rank", HandleConsoleRank, " [Player] [Group] - add a player to a group"); PluginMgr:BindConsoleCommand("setversion", HandleConsoleVersion, " ~ Sets server version reported to 1.4+ clients");
PluginMgr:BindConsoleCommand("reload", HandleConsoleReload, "Reloads all plugins"); PluginMgr:BindConsoleCommand("rank", HandleConsoleRank, " ~ Add a player to a group");
PluginMgr:BindConsoleCommand("save-all", HandleConsoleSaveAll, "Saves all chunks"); PluginMgr:BindConsoleCommand("reload", HandleConsoleReload, " - Reloads all plugins");
PluginMgr:BindConsoleCommand("say", HandleConsoleSay, "Sends a chat message to all players"); PluginMgr:BindConsoleCommand("save-all", HandleConsoleSaveAll, " - Saves all chunks");
PluginMgr:BindConsoleCommand("unload", HandleConsoleUnload, "Unloads all unused chunks"); PluginMgr:BindConsoleCommand("say", HandleConsoleSay, " - Sends a chat message to all players");
PluginMgr:BindConsoleCommand("unload", HandleConsoleUnload, " - Unloads all unused chunks");
end end
function HandleConsoleBan(Split) function HandleConsoleBan(Split)
@ -26,17 +27,24 @@ function HandleConsoleBan(Split)
return true, "Usage: ban [Player] <Reason>"; return true, "Usage: ban [Player] <Reason>";
end end
local Reason = "You have been banned" local Reason = cChatColor.Red .. "You have been banned." .. cChatColor.White .. " Did you do something illegal?"
if (#Split > 2) then if( #Split > 2 ) then
Reason = table.concat(Split, " ", 3); Reason = table.concat(Split, " ", 3)
end end
if KickPlayer(Split[2], Reason) == false then
if (not(BanPlayer(Split[2], Reason))) then BannedPlayersIni:DeleteValue("Banned", Split[2])
return true, "Could not find player " .. Split[2]; BannedPlayersIni:SetValueB("Banned", Split[2], true)
BannedPlayersIni:WriteFile()
LOGINFO("Could not find player, but banned anyway" )
else
BannedPlayersIni:DeleteValue("Banned", Split[2])
BannedPlayersIni:SetValueB("Banned", Split[2], true)
BannedPlayersIni:WriteFile()
LOGINFO("Successfully kicked and banned player" )
end end
return true, "Player " .. Split[2] .. " has been banned."; return true
end end
function HandleConsoleUnban(Split) function HandleConsoleUnban(Split)
@ -87,9 +95,10 @@ function HandleConsoleHelp(Split)
table.sort(Commands, CompareCommands); table.sort(Commands, CompareCommands);
local Out = ""; local Out = "";
Out = "'-' denotes no prefix, '~' denotes that a value is required.\n"
for i, Command in ipairs(Commands) do for i, Command in ipairs(Commands) do
Out = Out .. Command[1] .. string.rep(" ", MaxLength - Command[1]:len()); -- Align to a table Out = Out .. Command[1] .. string.rep(" ", MaxLength - Command[1]:len()); -- Align to a table
Out = Out .. " - " .. Command[2] .. "\n"; Out = Out .. Command[2] .. "\n";
end end
return true, Out; return true, Out;
end end
@ -171,7 +180,7 @@ function HandleConsolePlayers(Split)
return true, Out; return true, Out;
end end
function HandleConsolePrimaryServerVersion(Split) function HandleConsoleVersion(Split)
if (#Split == 1) then if (#Split == 1) then
-- Display current version: -- Display current version:
local Version = cRoot:Get():GetPrimaryServerVersion(); local Version = cRoot:Get():GetPrimaryServerVersion();
@ -218,7 +227,7 @@ function HandleConsoleRank(Split)
World:ForEachPlayer( World:ForEachPlayer(
function (Player) function (Player)
if (Player:GetName() == Split[2]) then if (Player:GetName() == Split[2]) then
Player:SendMessage(cChatColor.Green .. "You were moved to group " .. Split[3]); Player:SendMessage(cChatColor.Yellow .. "[INFO] " .. cChatColor.White .. "You were moved to group " .. Split[3]);
Player:LoadPermissionsFromDisk(); Player:LoadPermissionsFromDisk();
end end
end end
@ -231,12 +240,14 @@ end
function HandleConsoleReload(Split) function HandleConsoleReload(Split)
Server = cRoot:Get():GetServer(); Server = cRoot:Get():GetServer();
Server:SendMessage(cChatColor.Green .. "Reloading all plugins."); Server:SendMessage(cChatColor.Rose .. "[WARNING] " .. cChatColor.White .. "Reloading all plugins!");
cPluginManager:Get():ReloadPlugins(); cPluginManager:Get():ReloadPlugins();
return true; return true;
end end
function HandleConsoleSaveAll(Split) function HandleConsoleSaveAll(Split)
Server = cRoot:Get():GetServer();
Server:SendMessage(cChatColor.Rose .. "[WARNING] " .. cChatColor.White .. "Saving all chunks!");
cRoot:Get():SaveAllChunks(); cRoot:Get():SaveAllChunks();
return true; return true;
end end
@ -248,7 +259,7 @@ function HandleConsoleSay(Split)
Message = Message .. " " .. Text; Message = Message .. " " .. Text;
end end
Message = Message:sub(2); -- Cut off the first space Message = Message:sub(2); -- Cut off the first space
cRoot:Get():GetServer():BroadcastChat(cChatColor.Purple .. "[SERVER] " .. Message); cRoot:Get():GetServer():BroadcastChat(cChatColor.Gold .. "[SERVER] " .. cChatColor.Yellow .. Message);
return true; return true;
end end

View File

@ -1,8 +1,19 @@
function OnPlayerJoined(Player) function OnPlayerJoined(Player)
ShowMOTDTo( Player ) --if( BannedPlayersIni:GetValueB("Banned", Player:GetName(), false) == true ) then
local Server = cRoot:Get():GetServer() -- LOGINFO( Player:GetName() .. " tried to join, but is banned!" )
Server:SendMessage(cChatColor.Yellow .. "[JOIN] " .. cChatColor.White .. Player:GetName() .. " has joined the game" ) -- KickPlayer(Player:GetName(), cChatColor.Red .. "You are banned!" )
return false -- return true
--elseif( WhiteListIni:GetValueB("WhiteListSettings", "WhiteListOn", false ) == true ) then
-- if( WhiteListIni:GetValueB("WhiteList", Player:GetName(), false ) == false ) then
-- LOGINFO( Player:GetName() .. " tried to join, but is not whitelisted!" )
-- KickPlayer(Player:GetName(), cChatColor.Red .. "You are not whitelisted!" )
-- end
--else
ShowMOTDTo( Player )
local Server = cRoot:Get():GetServer()
Server:SendMessage(cChatColor.Yellow .. "[JOIN] " .. cChatColor.White .. Player:GetName() .. " has joined the game" )
return false
--end
end end
function OnDisconnect(Player, Reason) function OnDisconnect(Player, Reason)

View File

@ -1,8 +1,6 @@
function OnLogin(Client, ProtocolVersion, Username) function OnLogin(Client, ProtocolVersion, Username)
if( Username ~= "" ) then if( Username ~= "" ) then
if( BannedPlayersIni:GetValueB("Banned", Username, false) == true ) then if( BannedPlayersIni:GetValueB("Banned", Username, false) == true ) then
local Server = cRoot:Get():GetServer()
Server:SendMessage( Username .. " tried to join, but is banned!" )
LOGINFO( Username .. " tried to join, but is banned!") LOGINFO( Username .. " tried to join, but is banned!")
return true -- Player is banned, return true to deny access return true -- Player is banned, return true to deny access
end end