diff --git a/scripts/commands/generic/debug.py b/scripts/commands/generic/debug.py new file mode 100644 index 000000000..56fd367a0 --- /dev/null +++ b/scripts/commands/generic/debug.py @@ -0,0 +1,5 @@ +import sys + +def execute(objManager, player, target, args): + print "Hello" + return \ No newline at end of file diff --git a/src/resources/commands/callbacks/ServerCmdCallback.java b/src/resources/commands/callbacks/ServerCmdCallback.java index 0a86b2500..e65263d0c 100644 --- a/src/resources/commands/callbacks/ServerCmdCallback.java +++ b/src/resources/commands/callbacks/ServerCmdCallback.java @@ -44,12 +44,17 @@ import resources.sui.SuiListBox; import resources.sui.SuiListBox.ListBoxType; import resources.sui.SuiMessageBox; import resources.sui.SuiMessageBox.MessageBoxType; +import resources.utilities.Scripts; import services.galaxy.GalacticManager; public class ServerCmdCallback implements ICmdCallback { @Override public void execute(GalacticManager galacticManager, Player player, SWGObject target, String args) { + if (args.equals("debug") || args.startsWith("debug ")) { + debug(galacticManager, player, target, args); + return; + } SuiListBox listBox = new SuiListBox(player, ListBoxType.OK_CANCEL, "Server Management", "Select the management function you wish to perform from the list."); listBox.addListItem("Kick Player", 0); @@ -62,6 +67,10 @@ public class ServerCmdCallback implements ICmdCallback { listBox.display(); } + private void debug(GalacticManager galacticManager, Player player, SWGObject target, String args) { + Scripts.execute("commands/generic/debug.py", "execute", galacticManager, player, target, args); + } + private static class ServerSuiCallback implements ISuiCallback { public void handleEvent(Player player, SWGObject actor, int eventType, List returnParams) { diff --git a/src/services/player/CharacterCreationRestriction.java b/src/services/player/CharacterCreationRestriction.java index 6395fb076..e4b36f284 100644 --- a/src/services/player/CharacterCreationRestriction.java +++ b/src/services/player/CharacterCreationRestriction.java @@ -83,13 +83,15 @@ public class CharacterCreationRestriction { if (lastCreations.size() < creationsPerPeriod) return true; if (creationsPerPeriod == 0) - return false; + return true; Log.d("CharacterCreationRestriction", "Last: %d Within: %b", lastCreations.getLast(), isWithinPeriod(lastCreations.getLast().longValue())); return !isWithinPeriod(lastCreations.getLast().longValue()); } } public boolean createdCharacter() { + if (creationsPerPeriod == 0) + return true; synchronized (lastCreations) { final boolean hitMax = lastCreations.size() >= creationsPerPeriod; final boolean hackSuccess = hitMax && isWithinPeriod(lastCreations.getLast()); diff --git a/src/services/player/ZoneService.java b/src/services/player/ZoneService.java index 91d3e1392..dacaa8bec 100644 --- a/src/services/player/ZoneService.java +++ b/src/services/player/ZoneService.java @@ -136,6 +136,12 @@ public class ZoneService extends Service { return super.initialize(); } + @Override + public boolean start() { + creationRestriction.setCreationsPerPeriod(getConfig(ConfigFile.PRIMARY).getInt("GALAXY-MAX-CHARACTERS", 2)); + return super.start(); + } + @Override public void onIntentReceived(Intent i) { if (i instanceof ZoneInIntent) {