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!
#Sat Aug 30 16:14:15 CEST 2014
build.number=949
#Build Number for ANT. Do not edit!
#Sat Nov 01 15:34:44 GMT 2014
build.number=961

View file

@ -6,8 +6,8 @@ server:
# You should change this to your server's name
name: TotalFreedom
# The address your server is located at
address: 64.34.165.5:28965
# 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%
@ -24,6 +24,16 @@ server:
# URL players should appeal for permanent bans at
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
allow:

View file

@ -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"),

View file

@ -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,15 @@ 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_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