Merge pull request #349 from Wild1145/master

Added ForceIP. Resolves #224
This commit is contained in:
Jerom van der Sar 2014-11-01 20:14:27 +01:00
commit 0aa0bae0ad
4 changed files with 28 additions and 5 deletions

View File

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit! #Build Number for ANT. Do not edit!
#Sat Aug 30 16:14:15 CEST 2014 #Sat Nov 01 15:34:44 GMT 2014
build.number=949 build.number=961

View File

@ -6,8 +6,8 @@ server:
# You should change this to your server's name # You should change this to your server's name
name: TotalFreedom name: TotalFreedom
# The address your server is located at # The address your server is located at - Please include the port if required.
address: 64.34.165.5:28965 address: play.totalfreedom.me
# Shown at the server list # Shown at the server list
motd: TotalFreedom &8- Minecraft %mcversion% motd: TotalFreedom &8- Minecraft %mcversion%
@ -24,6 +24,16 @@ server:
# URL players should appeal for permanent bans at # URL players should appeal for permanent bans at
permban_url: http://bit.ly/TF_PermBan permban_url: http://bit.ly/TF_PermBan
# 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 %address%
# Blocking certain events # Blocking certain events
allow: allow:

View File

@ -4,6 +4,9 @@ import java.util.List;
public enum TFM_ConfigEntry 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_EXPLOSIONS(Boolean.class, "allow.explosions"),
ALLOW_FIRE_PLACE(Boolean.class, "allow.fire_place"), ALLOW_FIRE_PLACE(Boolean.class, "allow.fire_place"),
ALLOW_FIRE_SPREAD(Boolean.class, "allow.fire_spread"), ALLOW_FIRE_SPREAD(Boolean.class, "allow.fire_spread"),

View File

@ -766,6 +766,7 @@ public class TFM_PlayerListener implements Listener
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)
public void onPlayerJoin(PlayerJoinEvent event) public void onPlayerJoin(PlayerJoinEvent event)
{ {
final Player player = event.getPlayer(); final Player player = event.getPlayer();
final String ip = TFM_Util.getIp(player); final String ip = TFM_Util.getIp(player);
final TFM_Player playerEntry; final TFM_Player playerEntry;
@ -853,6 +854,15 @@ public class TFM_PlayerListener implements Listener
public void onPlayerLogin(PlayerLoginEvent event) public void onPlayerLogin(PlayerLoginEvent event)
{ {
TFM_ServerInterface.handlePlayerLogin(event); TFM_ServerInterface.handlePlayerLogin(event);
// Force IP Setup
if(TFM_ConfigEntry.FORCE_IP_ENABLED.getBoolean())
{
if(!event.getHostname().equalsIgnoreCase(TFM_ConfigEntry.SERVER_ADDRESS.getString()))
{
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, TFM_ConfigEntry.FORCE_IP_KICKMSG.getString().replace("%address%", TFM_ConfigEntry.SERVER_ADDRESS.getString()));
}
}
} }
// Player Tab and auto Tags // Player Tab and auto Tags