diff --git a/cfg/features.cfg b/cfg/features.cfg new file mode 100644 index 000000000..32dc51f66 --- /dev/null +++ b/cfg/features.cfg @@ -0,0 +1 @@ +# 29/05/2015 00:41:40 CDT diff --git a/cfg/network.cfg b/cfg/network.cfg new file mode 100644 index 000000000..fc9837ce2 --- /dev/null +++ b/cfg/network.cfg @@ -0,0 +1,10 @@ +# 29/05/2015 00:41:40 CDT +AUTO-LOGIN=0 +LOGIN-PORT=44453 +LOGIN-SERVER-ID=1 +LOGIN-SERVER-NAME=LoginServer +LOGIN-VERSION-CHECKS=true +MAX-PACKET-SIZE=496 +SESSION-TOKEN-LENGTH=24 +ZONE-SERVER-ID=1 +ZONE-SERVER-NAME=Localhost diff --git a/cfg/nge.cfg b/cfg/nge.cfg new file mode 100644 index 000000000..017c9ab1b --- /dev/null +++ b/cfg/nge.cfg @@ -0,0 +1,11 @@ +# 29/05/2015 00:41:40 CDT +CLEAN-CHARACTER-DATA=0 +ENABLE-LOGGING=true +GALAXY-MAX-CHARACTERS=2 +GALAXY-MAX-ONLINE=3000 +LOAD-BUILDOUTS=false +LOCAL-DB=nge +LOCAL-PASS=nge +LOCAL-USER=nge +PACKET-DEBUG=false +WIPE-ODB-FILES=0 diff --git a/nge.cfg b/nge.cfg deleted file mode 100644 index 51fd7911d..000000000 --- a/nge.cfg +++ /dev/null @@ -1,20 +0,0 @@ -# 28/05/2015 08:11:30 CDT -AUTO-LOGIN=0 -CLEAN-CHARACTER-DATA=0 -ENABLE-LOGGING=true -GALAXY-MAX-CHARACTERS=2 -GALAXY-MAX-ONLINE=3000 -LOAD-BUILDOUTS=false -LOCAL-DB=nge -LOCAL-PASS=nge -LOCAL-USER=nge -LOGIN-PORT=44453 -LOGIN-SERVER-ID=1 -LOGIN-SERVER-NAME=LoginServer -LOGIN-VERSION-CHECKS=true -MAX-PACKET-SIZE=496 -PACKET-DEBUG=true -SESSION-TOKEN-LENGTH=24 -WIPE-ODB-FILES=0 -ZONE-SERVER-ID=1 -ZONE-SERVER-NAME=Localhost diff --git a/src/resources/config/ConfigFile.java b/src/resources/config/ConfigFile.java index 31170c295..c2d066d9d 100644 --- a/src/resources/config/ConfigFile.java +++ b/src/resources/config/ConfigFile.java @@ -28,7 +28,12 @@ package resources.config; public enum ConfigFile { - PRIMARY ("nge.cfg"); + /** Meant for general purpose configuration or debugging */ + PRIMARY ("cfg/nge.cfg"), + /** Meant for networking-related configuration. Includes Login and Zone configuration */ + NETWORK ("cfg/network.cfg"), + /** Meant for specific in-game features that may be better disabled or tweaked */ + FEATURES("cfg/features.cfg"); private String filename; diff --git a/src/resources/control/ServerPublicInterface.java b/src/resources/control/ServerPublicInterface.java index 89e73041e..d27de8456 100644 --- a/src/resources/control/ServerPublicInterface.java +++ b/src/resources/control/ServerPublicInterface.java @@ -154,7 +154,7 @@ final class ServerPublicInterface { } private InetAddress getBindAddr() { - Config c = DataManager.getInstance().getConfig(ConfigFile.PRIMARY); + Config c = DataManager.getInstance().getConfig(ConfigFile.NETWORK); try { if (c.containsKey("BIND-ADDR")) return InetAddress.getByName(c.getString("BIND-ADDR", "127.0.0.1")); diff --git a/src/services/network/NetworkClientManager.java b/src/services/network/NetworkClientManager.java index 247e095c3..a35bc654b 100644 --- a/src/services/network/NetworkClientManager.java +++ b/src/services/network/NetworkClientManager.java @@ -122,7 +122,7 @@ public class NetworkClientManager extends Manager { outPacket.setCrcLength(2); outPacket.setEncryptionFlag((short) 1); outPacket.setXorLength((byte) 4); - outPacket.setUdpSize(getConfig(ConfigFile.PRIMARY).getInt("MAX-PACKET-SIZE", 496)); + outPacket.setUdpSize(getConfig(ConfigFile.NETWORK).getInt("MAX-PACKET-SIZE", 496)); sendPacket(client.getNetworkId(), outPacket); } diff --git a/src/services/network/NetworkListenerService.java b/src/services/network/NetworkListenerService.java index fb0ca7b14..7b28ad5f3 100644 --- a/src/services/network/NetworkListenerService.java +++ b/src/services/network/NetworkListenerService.java @@ -72,13 +72,13 @@ public class NetworkListenerService extends Service { @Override public boolean initialize() { - Config primary = getConfig(ConfigFile.PRIMARY); - int packetSize = primary.getInt("MAX-PACKET-SIZE", 496); - InetAddress loginBind = getBindAddr(primary, "LOGIN-BIND-ADDR", "BIND-ADDR"); - InetAddress zoneBind = getBindAddr(primary, "ZONE-BIND-ADDR", "BIND-ADDR"); - InetAddress pingBind = getBindAddr(primary, "PING-BIND-ADDR", "BIND-ADDR"); + Config network = getConfig(ConfigFile.NETWORK); + int packetSize = network.getInt("MAX-PACKET-SIZE", 496); + InetAddress loginBind = getBindAddr(network, "LOGIN-BIND-ADDR", "BIND-ADDR"); + InetAddress zoneBind = getBindAddr(network, "ZONE-BIND-ADDR", "BIND-ADDR"); + InetAddress pingBind = getBindAddr(network, "PING-BIND-ADDR", "BIND-ADDR"); boolean init = true; - init = login.initialize(loginBind, primary.getInt("LOGIN-PORT", 44453), packetSize) && init; + init = login.initialize(loginBind, network.getInt("LOGIN-PORT", 44453), packetSize) && init; init = zone.initialize(zoneBind, galaxy.getZonePort(), packetSize) && init; init = ping.initialize(pingBind, galaxy.getPingPort(), packetSize) && init; return super.initialize() && isOperational() && init; diff --git a/src/services/player/LoginService.java b/src/services/player/LoginService.java index 0b0525c87..157183b36 100644 --- a/src/services/player/LoginService.java +++ b/src/services/player/LoginService.java @@ -96,7 +96,7 @@ public class LoginService extends Service { getGalaxies = local.prepareStatement("SELECT * FROM galaxies"); getCharacters = local.prepareStatement("SELECT * FROM characters WHERE userid = ?"); deleteCharacter = local.prepareStatement("DELETE FROM CHARACTERS WHERE id = ?"); - autoLogin = (getConfig(ConfigFile.PRIMARY).getInt("AUTO-LOGIN", 0) == 1 ? true : false); + autoLogin = (getConfig(ConfigFile.NETWORK).getInt("AUTO-LOGIN", 0) == 1 ? true : false); return super.initialize(); } @@ -113,14 +113,14 @@ public class LoginService extends Service { } private String getServerString() { - Config c = getConfig(ConfigFile.PRIMARY); + Config c = getConfig(ConfigFile.NETWORK); String name = c.getString("LOGIN-SERVER-NAME", "LoginServer"); int id = c.getInt("LOGIN-SERVER-ID", 1); return name + ":" + id; } private void sendServerInfo(Player player) { - Config c = getConfig(ConfigFile.PRIMARY); + Config c = getConfig(ConfigFile.NETWORK); String name = c.getString("LOGIN-SERVER-NAME", "LoginServer"); int id = c.getInt("LOGIN-SERVER-ID", 1); sendPacket(player.getNetworkId(), new ServerString(name + ":" + id)); @@ -141,7 +141,7 @@ public class LoginService extends Service { System.err.println("Player cannot login when " + player.getPlayerState()); return; } - final boolean doClientCheck = getConfig(ConfigFile.PRIMARY).getBoolean("LOGIN-VERSION-CHECKS", true); + final boolean doClientCheck = getConfig(ConfigFile.NETWORK).getBoolean("LOGIN-VERSION-CHECKS", true); if (doClientCheck) Log.d("LoginService", "Running login checks for %s", id.getUsername()); else @@ -185,7 +185,7 @@ public class LoginService extends Service { private void onSuccessfulLogin(ResultSet user, Player player, LoginClientId id) throws SQLException { player.setUsername(id.getUsername()); player.setUserId(user.getInt("id")); - int tokenLength = getConfig(ConfigFile.PRIMARY).getInt("SESSION-TOKEN-LENGTH", 24); + int tokenLength = getConfig(ConfigFile.NETWORK).getInt("SESSION-TOKEN-LENGTH", 24); byte [] sessionToken = new byte[tokenLength]; random.nextBytes(sessionToken); player.setSessionToken(sessionToken); diff --git a/src/services/player/ZoneService.java b/src/services/player/ZoneService.java index 4707b28b3..e43b5032c 100644 --- a/src/services/player/ZoneService.java +++ b/src/services/player/ZoneService.java @@ -239,7 +239,7 @@ public class ZoneService extends Service { } private void sendServerInfo(Galaxy galaxy, long networkId) { - Config c = getConfig(ConfigFile.PRIMARY); + Config c = getConfig(ConfigFile.NETWORK); String name = c.getString("ZONE-SERVER-NAME", galaxy.getName()); int id = c.getInt("ZONE-SERVER-ID", galaxy.getId()); sendPacket(networkId, new ServerString(name + ":" + id));