From 57a6b3545781fa65b211de816434af4d942396bb Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 Oct 2014 17:47:05 +0000 Subject: [PATCH 01/12] Added the ForceIP feature - Resolves #224 --- buildnumber.properties | 6 +++--- src/config.yml | 18 ++++++++++++++++++ .../Config/TFM_ConfigEntry.java | 5 +++++ .../Listener/TFM_PlayerListener.java | 9 +++++++++ 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/buildnumber.properties b/buildnumber.properties index ff32cd2b..1b844cc0 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ -#Build Number for ANT. Do not edit! -#Sat Aug 30 16:14:15 CEST 2014 -build.number=949 +#Build Number for ANT. Do not edit! +#Fri Oct 31 17:39:33 GMT 2014 +build.number=959 diff --git a/src/config.yml b/src/config.yml index a0e1ef40..d0e9feb0 100644 --- a/src/config.yml +++ b/src/config.yml @@ -1,6 +1,8 @@ # TotalFreedomMod v4.3 Configuration # by Madgeek1450 and DarthSalamon + + # Generic server information server: # You should change this to your server's name @@ -24,6 +26,22 @@ server: # URL players should appeal for permanent bans at permban_url: http://bit.ly/TF_PermBan + + # Your Servers Host Name - Used for ForceIP + hostname: play.totalfreedom.me + + # Server Port - Used for ForceIP + port: 25565 + +# ForceIP Configuration +forceip: + + # Please state if you wish to enable the ForceIP system. + enabled: true + + # Please enter the kick message you wish for people to see if they are not connecting on the servers hostname + kickmsg: You have been kicked from the server - Please connect using play.totalfreedom.me + # Blocking certain events allow: diff --git a/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java b/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java index d8dede36..0289e856 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java +++ b/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java @@ -4,6 +4,9 @@ import java.util.List; public enum TFM_ConfigEntry { + FORCE_IP_ENABLED(Boolean.class, "forceip.enabled"), + FORCE_IP_KICKMSG(String.class, "forceip.kickmsg"), + // ALLOW_EXPLOSIONS(Boolean.class, "allow.explosions"), ALLOW_FIRE_PLACE(Boolean.class, "allow.fire_place"), ALLOW_FIRE_SPREAD(Boolean.class, "allow.fire_spread"), @@ -31,6 +34,8 @@ public enum TFM_ConfigEntry SERVER_OWNERS(List.class, "server.owners"), SERVER_BAN_URL(String.class, "server.ban_url"), SERVER_PERMBAN_URL(String.class, "server.permban_url"), + SERVER_HOSTNAME(String.class, "server.hostname"), + SERVER_PORT(Integer.class, "server.port"), // TWITTERBOT_ENABLED(Boolean.class, "twitterbot.enabled"), TWITTERBOT_SECRET(String.class, "twitterbot.secret"), diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index a19e7023..24be8f4d 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -766,6 +766,7 @@ public class TFM_PlayerListener implements Listener @EventHandler(priority = EventPriority.MONITOR) public void onPlayerJoin(PlayerJoinEvent event) { + final Player player = event.getPlayer(); final String ip = TFM_Util.getIp(player); final TFM_Player playerEntry; @@ -853,6 +854,14 @@ public class TFM_PlayerListener implements Listener public void onPlayerLogin(PlayerLoginEvent event) { TFM_ServerInterface.handlePlayerLogin(event); + + // Force IP Setup + if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean()){ + if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_HOSTNAME.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())){ + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); + } + } + } // Player Tab and auto Tags From 1bc22a817aec06e438546f28a7ca520c0ae4351f Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 Oct 2014 17:52:57 +0000 Subject: [PATCH 02/12] Removed the whitespace. --- src/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/config.yml b/src/config.yml index d0e9feb0..2e80693f 100644 --- a/src/config.yml +++ b/src/config.yml @@ -1,8 +1,6 @@ # TotalFreedomMod v4.3 Configuration # by Madgeek1450 and DarthSalamon - - # Generic server information server: # You should change this to your server's name From 7981adaf85a1d9ba2e87013fd0c02d685ffcd907 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 Oct 2014 17:57:44 +0000 Subject: [PATCH 03/12] Fixed Formatting Issues - Forgot it was allman style there. --- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 24be8f4d..36ff194c 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -856,9 +856,11 @@ public class TFM_PlayerListener implements Listener TFM_ServerInterface.handlePlayerLogin(event); // Force IP Setup - if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean()){ - if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_HOSTNAME.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())){ - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); + if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean()) + { + if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_HOSTNAME.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())) + { + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); } } From b43ef812a2d03680b8cbae9154f844161d61d681 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 Oct 2014 18:05:25 +0000 Subject: [PATCH 04/12] Fixed another slight formatting issue. --- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 36ff194c..d1ddf24a 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -860,10 +860,9 @@ public class TFM_PlayerListener implements Listener { if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_HOSTNAME.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())) { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); } - } - + } } // Player Tab and auto Tags From 2a71be40504389c81a7a29203da9f27bca04f2c0 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 Oct 2014 18:10:06 +0000 Subject: [PATCH 05/12] Tweaked the config notes for Hostname & Port to make it a bit more descriptive --- src/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.yml b/src/config.yml index 2e80693f..d5152512 100644 --- a/src/config.yml +++ b/src/config.yml @@ -25,10 +25,10 @@ server: # URL players should appeal for permanent bans at permban_url: http://bit.ly/TF_PermBan - # Your Servers Host Name - Used for ForceIP + # Your Servers Host Name - This can be your servers's IP or your servers DNS Record. Please ensure its what you want players to use to connect using. hostname: play.totalfreedom.me - # Server Port - Used for ForceIP + # Server Port - If your using a domain SRV record (eg play.totalfreedom.me) this MUST be 25565 else use the port you need to type at the end of the address. port: 25565 # ForceIP Configuration From 99043a7c4976ac356c68b2276e69abbace094dc3 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Nov 2014 12:10:08 +0000 Subject: [PATCH 06/12] Removed Hostname and Port from the config - Now using the server address. --- buildnumber.properties | 4 ++-- src/config.yml | 8 +------- .../TotalFreedomMod/Config/TFM_ConfigEntry.java | 2 -- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 2 +- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/buildnumber.properties b/buildnumber.properties index 1b844cc0..3d3c6162 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Fri Oct 31 17:39:33 GMT 2014 -build.number=959 +#Sat Nov 01 12:07:03 GMT 2014 +build.number=960 diff --git a/src/config.yml b/src/config.yml index d5152512..08f26aef 100644 --- a/src/config.yml +++ b/src/config.yml @@ -6,7 +6,7 @@ server: # You should change this to your server's name name: TotalFreedom - # The address your server is located at + # The address your server is located at - Please Note: The port MUST be included, even if it is default port (DNS Records included) address: 64.34.165.5:28965 # Shown at the server list @@ -25,12 +25,6 @@ server: # URL players should appeal for permanent bans at permban_url: http://bit.ly/TF_PermBan - # Your Servers Host Name - This can be your servers's IP or your servers DNS Record. Please ensure its what you want players to use to connect using. - hostname: play.totalfreedom.me - - # Server Port - If your using a domain SRV record (eg play.totalfreedom.me) this MUST be 25565 else use the port you need to type at the end of the address. - port: 25565 - # ForceIP Configuration forceip: diff --git a/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java b/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java index 0289e856..7a69ee62 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java +++ b/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java @@ -34,8 +34,6 @@ public enum TFM_ConfigEntry SERVER_OWNERS(List.class, "server.owners"), SERVER_BAN_URL(String.class, "server.ban_url"), SERVER_PERMBAN_URL(String.class, "server.permban_url"), - SERVER_HOSTNAME(String.class, "server.hostname"), - SERVER_PORT(Integer.class, "server.port"), // TWITTERBOT_ENABLED(Boolean.class, "twitterbot.enabled"), TWITTERBOT_SECRET(String.class, "twitterbot.secret"), diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index d1ddf24a..2dba07cd 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -858,7 +858,7 @@ public class TFM_PlayerListener implements Listener // Force IP Setup if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean()) { - if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_HOSTNAME.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())) + if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_ADDRESS.getString())) { event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); } From 8a92ff132b525fd842832b1bee7d0485c3164c32 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Nov 2014 15:36:24 +0000 Subject: [PATCH 07/12] Changed the default config entry for the server address & added a little tweak. --- buildnumber.properties | 4 ++-- src/config.yml | 4 ++-- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/buildnumber.properties b/buildnumber.properties index 3d3c6162..23a75c6c 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sat Nov 01 12:07:03 GMT 2014 -build.number=960 +#Sat Nov 01 15:34:44 GMT 2014 +build.number=961 diff --git a/src/config.yml b/src/config.yml index 08f26aef..e1f61c82 100644 --- a/src/config.yml +++ b/src/config.yml @@ -7,7 +7,7 @@ server: name: TotalFreedom # The address your server is located at - Please Note: The port MUST be included, even if it is default port (DNS Records included) - address: 64.34.165.5:28965 + address: play.totalfreedom.me:25565 # Shown at the server list motd: TotalFreedom &8- Minecraft %mcversion% @@ -32,7 +32,7 @@ forceip: enabled: true # Please enter the kick message you wish for people to see if they are not connecting on the servers hostname - kickmsg: You have been kicked from the server - Please connect using play.totalfreedom.me + kickmsg: You have been kicked from the server - Please connect using %address% # Blocking certain events diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 2dba07cd..ddc772e5 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -860,7 +860,7 @@ public class TFM_PlayerListener implements Listener { if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_ADDRESS.getString())) { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString()); + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString())); } } } From fcf52ba02ada6bf4135e52b88c0f943a227a9f3c Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Nov 2014 17:44:07 +0000 Subject: [PATCH 08/12] Managed to tweak the port requirement, isnt actually needed like I thought. --- src/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.yml b/src/config.yml index e1f61c82..9a658d25 100644 --- a/src/config.yml +++ b/src/config.yml @@ -6,8 +6,8 @@ server: # You should change this to your server's name name: TotalFreedom - # The address your server is located at - Please Note: The port MUST be included, even if it is default port (DNS Records included) - address: play.totalfreedom.me:25565 + # The address your server is located at - Please include the port if required. + address: play.totalfreedom.me # Shown at the server list motd: TotalFreedom &8- Minecraft %mcversion% From 524d4da9d8cef9de9986de92766a4e49c2b9c661 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Nov 2014 19:46:00 +0000 Subject: [PATCH 09/12] Bug Crunching on the ForceIP - Should work a lot better now. --- buildnumber.properties | 4 ++-- src/config.yml | 5 ++++- .../TotalFreedomMod/Config/TFM_ConfigEntry.java | 1 + .../Listener/TFM_PlayerListener.java | 14 ++++++++++++-- .../TotalFreedomMod/TFM_FrontDoor.java | 2 +- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/buildnumber.properties b/buildnumber.properties index 23a75c6c..d1aec97a 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sat Nov 01 15:34:44 GMT 2014 -build.number=961 +#Sat Nov 01 19:44:24 GMT 2014 +build.number=963 diff --git a/src/config.yml b/src/config.yml index 9a658d25..771c6dfa 100644 --- a/src/config.yml +++ b/src/config.yml @@ -6,8 +6,11 @@ server: # You should change this to your server's name name: TotalFreedom - # The address your server is located at - Please include the port if required. + # The address your server is located at. Please do not include the port. address: play.totalfreedom.me + + # Please indicate your port. This should be 25565 unless otherwise indicated by your host + port: 25565 # Shown at the server list motd: TotalFreedom &8- Minecraft %mcversion% diff --git a/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java b/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java index 7a69ee62..df22f163 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java +++ b/src/me/StevenLawson/TotalFreedomMod/Config/TFM_ConfigEntry.java @@ -30,6 +30,7 @@ public enum TFM_ConfigEntry SERVER_COLORFUL_MOTD(Boolean.class, "server.colorful_motd"), SERVER_NAME(String.class, "server.name"), SERVER_ADDRESS(String.class, "server.address"), + SERVER_PORT(Integer.class, "server.port"), SERVER_MOTD(String.class, "server.motd"), SERVER_OWNERS(List.class, "server.owners"), SERVER_BAN_URL(String.class, "server.ban_url"), diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index ddc772e5..24af42a4 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -37,6 +37,7 @@ public class TFM_PlayerListener implements Listener { private static final List BLOCKED_MUTED_CMDS = Arrays.asList(StringUtils.split("say,me,msg,m,tell,r,reply,mail,email", ",")); private static final int MSG_PER_HEARTBEAT = 10; + public static int DEFAULT_PORT = 25565; @EventHandler(priority = EventPriority.HIGH) public void onPlayerInteract(PlayerInteractEvent event) @@ -858,9 +859,18 @@ public class TFM_PlayerListener implements Listener // Force IP Setup if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean()) { - if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_ADDRESS.getString())) + if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_ADDRESS.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())) { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString())); + if (TFM_ConfigEntry.SERVER_PORT.getInteger() != DEFAULT_PORT) + { + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString()) + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger()); + } + else + { + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString())); + + } + } } } diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_FrontDoor.java b/src/me/StevenLawson/TotalFreedomMod/TFM_FrontDoor.java index 1251ec4c..a4738f6f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_FrontDoor.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_FrontDoor.java @@ -481,7 +481,7 @@ public class TFM_FrontDoor { tempUrl = new URL("http://frontdoor.aws.af.cm/poll" + "?version=" + TotalFreedomMod.pluginVersion + "-" + TotalFreedomMod.buildCreator - + "&address=" + TFM_ConfigEntry.SERVER_ADDRESS.getString() + + "&address=" + TFM_ConfigEntry.SERVER_ADDRESS.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger() + "&name=" + TFM_ConfigEntry.SERVER_NAME.getString() + "&bukkitversion=" + Bukkit.getVersion()); } From 6f6fdb28bf7aa14be2a212f2a34673497aeb6f10 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Nov 2014 19:51:43 +0000 Subject: [PATCH 10/12] Minor tweaks to default port, Heartbeat and blocked cmd's --- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 24af42a4..06f52199 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -35,9 +35,9 @@ import org.bukkit.util.Vector; public class TFM_PlayerListener implements Listener { - private static final List BLOCKED_MUTED_CMDS = Arrays.asList(StringUtils.split("say,me,msg,m,tell,r,reply,mail,email", ",")); - private static final int MSG_PER_HEARTBEAT = 10; - public static int DEFAULT_PORT = 25565; + public static final List BLOCKED_MUTED_CMDS = Arrays.asList(StringUtils.split("say,me,msg,m,tell,r,reply,mail,email", ",")); + public static final int MSG_PER_HEARTBEAT = 10; + public static final int DEFAULT_PORT = 25565; @EventHandler(priority = EventPriority.HIGH) public void onPlayerInteract(PlayerInteractEvent event) From 7fe0b562ee2fbc3902d7b84153fecd052a718c58 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Nov 2014 19:55:45 +0000 Subject: [PATCH 11/12] Cleaned it up a bit as suggested by @jeromsar --- buildnumber.properties | 4 ++-- .../Listener/TFM_PlayerListener.java | 18 ++++++------------ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/buildnumber.properties b/buildnumber.properties index d1aec97a..80fe27d7 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sat Nov 01 19:44:24 GMT 2014 -build.number=963 +#Sat Nov 01 19:54:24 GMT 2014 +build.number=964 diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 06f52199..da1b41f3 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -856,21 +856,15 @@ public class TFM_PlayerListener implements Listener { TFM_ServerInterface.handlePlayerLogin(event); - // Force IP Setup + // Force IP Setup if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean()) { if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_ADDRESS.getString() + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger())) - { - if (TFM_ConfigEntry.SERVER_PORT.getInteger() != DEFAULT_PORT) - { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString()) + ":" + TFM_ConfigEntry.SERVER_PORT.getInteger()); - } - else - { - event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString())); - - } - + { + final int port = TFM_ConfigEntry.SERVER_PORT.getInteger(); + + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString()) + (port == DEFAULT_PORT ? "" : ":" + port)); + } } } From 310ce4f75a6e0d2e4fed8a6122b29ab484f7283b Mon Sep 17 00:00:00 2001 From: WickedGamingUK <> Date: Mon, 27 Oct 2014 11:23:08 +0000 Subject: [PATCH 12/12] Ported all useful features from MobArena over to TFM --- buildnumber.properties | 4 +- .../Commands/Command_report.java | 55 ++++++++++++++++++ .../Commands/Command_saconfig.java | 1 - .../Commands/Command_warn.java | 57 +++++++++++++++++++ .../HTTPD/Module_schematic.java | 3 +- .../TotalFreedomMod/TFM_PlayerData.java | 18 ++++++ .../TotalFreedomMod/TFM_Util.java | 11 ++++ 7 files changed, 144 insertions(+), 5 deletions(-) create mode 100644 src/me/StevenLawson/TotalFreedomMod/Commands/Command_report.java create mode 100644 src/me/StevenLawson/TotalFreedomMod/Commands/Command_warn.java diff --git a/buildnumber.properties b/buildnumber.properties index ff32cd2b..9d425768 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sat Aug 30 16:14:15 CEST 2014 -build.number=949 +#Sun Nov 02 13:49:36 CET 2014 +build.number=950 diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_report.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_report.java new file mode 100644 index 00000000..8f6fecb1 --- /dev/null +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_report.java @@ -0,0 +1,55 @@ +package me.StevenLawson.TotalFreedomMod.Commands; + +import me.StevenLawson.TotalFreedomMod.TFM_AdminList; +import me.StevenLawson.TotalFreedomMod.TFM_Util; +import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; +import net.minecraft.util.org.apache.commons.lang3.ArrayUtils; +import net.minecraft.util.org.apache.commons.lang3.StringUtils; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +@CommandPermissions(level = AdminLevel.OP, source = SourceType.ONLY_IN_GAME, blockHostConsole = true) +@CommandParameters(description = "Report a player for admins to see.", usage = "/ ") +public class Command_report extends TFM_Command +{ + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if (args.length < 2) + { + return false; + } + + Player player = getPlayer(args[0]); + + if (player == null) + { + playerMsg(PLAYER_NOT_FOUND); + return true; + } + + if (sender instanceof Player) + { + if (player.equals(sender_p)) + { + playerMsg(ChatColor.RED + "Please, don't try to report yourself."); + return true; + } + } + + if (TFM_AdminList.isSuperAdmin(player)) + { + playerMsg(ChatColor.RED + "You can not report an admin."); + return true; + } + + String report = StringUtils.join(ArrayUtils.subarray(args, 1, args.length), " "); + TFM_Util.reportAction(sender_p, player, report); + + playerMsg(ChatColor.GREEN + "Thank you, your report has been successfully logged."); + + return true; + } +} \ No newline at end of file diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java index 1ea3b12a..346c1352 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java @@ -194,7 +194,6 @@ public class Command_saconfig extends TFM_Command INFO("info", AdminLevel.SUPER, SourceType.BOTH, 2, 2), ADD("add", AdminLevel.SUPER, SourceType.ONLY_CONSOLE, 2, 2), DELETE("delete", AdminLevel.SENIOR, SourceType.ONLY_CONSOLE, 2, 2); - private final String modeName; private final AdminLevel adminLevel; private final SourceType sourceType; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_warn.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_warn.java new file mode 100644 index 00000000..1605041d --- /dev/null +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_warn.java @@ -0,0 +1,57 @@ +package me.StevenLawson.TotalFreedomMod.Commands; + +import me.StevenLawson.TotalFreedomMod.TFM_AdminList; +import me.StevenLawson.TotalFreedomMod.TFM_PlayerData; +import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang.StringUtils; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH, blockHostConsole = true) +@CommandParameters(description = "Warns a player.", usage = "/ ") +public class Command_warn extends TFM_Command +{ + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if (args.length < 2) + { + return false; + } + + Player player = getPlayer(args[0]); + + if (player == null) + { + playerMsg(PLAYER_NOT_FOUND); + return true; + } + + if (sender instanceof Player) + { + if (player.equals(sender_p)) + { + playerMsg(ChatColor.RED + "Please, don't try to warn yourself."); + return true; + } + } + + if (TFM_AdminList.isSuperAdmin(player)) + { + playerMsg(ChatColor.RED + "You can not warn admins"); + return true; + } + + String warnReason = StringUtils.join(ArrayUtils.subarray(args, 1, args.length), " "); + + playerMsg(ChatColor.RED + "[WARNING] " + warnReason); + playerMsg(ChatColor.GREEN + "You have successfully warned " + player.getName()); + + TFM_PlayerData.getPlayerData(player).incrementWarnings(); + + return true; + } +} \ No newline at end of file diff --git a/src/me/StevenLawson/TotalFreedomMod/HTTPD/Module_schematic.java b/src/me/StevenLawson/TotalFreedomMod/HTTPD/Module_schematic.java index 1b7df565..696bccc4 100644 --- a/src/me/StevenLawson/TotalFreedomMod/HTTPD/Module_schematic.java +++ b/src/me/StevenLawson/TotalFreedomMod/HTTPD/Module_schematic.java @@ -27,8 +27,7 @@ public class Module_schematic extends TFM_HTTPD_Module { "schematic" }; - private static final String UPLOAD_FORM - = "
\n" + private static final String UPLOAD_FORM = "\n" + "

Select a schematic file to upload. Filenames must be alphanumeric, between 1 and 30 characters long (inclusive), and have a .schematic extension.

\n" + "\n" + "
\n" diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_PlayerData.java b/src/me/StevenLawson/TotalFreedomMod/TFM_PlayerData.java index 50100eac..e506cc71 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_PlayerData.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_PlayerData.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.UUID; import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge; +import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.GameMode; @@ -56,6 +57,7 @@ public class TFM_PlayerData private String lastCommand = ""; private boolean cmdspyEnabled = false; private String tag = null; + private int warningCount = 0; private TFM_PlayerData(Player player) { @@ -503,4 +505,20 @@ public class TFM_PlayerData { return this.tag; } + + public int getWarningCount() + { + return this.warningCount; + } + + public void incrementWarnings() + { + this.warningCount++; + + if (this.warningCount % 2 == 0) + { + this.player.getWorld().strikeLightning(this.player.getLocation()); + TFM_Util.playerMsg(this.player, ChatColor.RED + "You have been warned at least twice now, make sure to read the rules at " + TFM_ConfigEntry.SERVER_BAN_URL.getString()); + } + } } diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java index 451e9376..9a7d3680 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java @@ -983,6 +983,17 @@ public class TFM_Util } + public static void reportAction(Player reporter, Player reported, String report) + { + for (Player player : Bukkit.getOnlinePlayers()) + { + if (TFM_AdminList.isSuperAdmin(player)) + { + playerMsg(player, ChatColor.RED + "[REPORTS] " + ChatColor.GOLD + reporter.getName() + " has reported " + reported.getName() + " for " + report); + } + } + } + public static class TFM_EntityWiper { private static final List> WIPEABLES = new ArrayList>();