diff --git a/mk2/events/server.py b/mk2/events/server.py index 4252bc1..8a3e7b3 100644 --- a/mk2/events/server.py +++ b/mk2/events/server.py @@ -4,7 +4,7 @@ # input/output output_exp = re.compile( - r'(?P\[)?((?:\d{4}-\d{2}-\d{2} )?)(\d{2}:\d{2}:\d{2})(?(b)\]) \[(?:[^/\]]*/)?([A-Z]+)\]:? (.*)') + r'^(?:\d{4}-\d{2}-\d{2} |)\[?(\d{2}:\d{2}:\d{2})\]? \[?(?:[^\]]+?/|)([A-Z]+)\]:? (.*)') class ServerInput(Event): """Send data to the server's stdin. In plugins, a shortcut @@ -27,9 +27,9 @@ def setup(self): m = output_exp.match(self.line) if m: g = m.groups() - self.time = g[1]+g[2] - self.level= g[3] - self.data = g[4] + self.time = g[0] + self.level= g[1] + self.data = g[2] else: self.level= "???" self.data = self.line.strip() @@ -71,10 +71,6 @@ class ServerStarted(Event): the server_started method. """ - time = Event.Arg() - -#stop - class ServerStop(Event): """Issue this event to stop the server.""" diff --git a/mk2/plugins/shutdown.py b/mk2/plugins/shutdown.py index 11d5db7..43d0b46 100644 --- a/mk2/plugins/shutdown.py +++ b/mk2/plugins/shutdown.py @@ -55,7 +55,6 @@ def warn_cancel(self, reason, thing): def nice_stop(self, respawn, kill): if not kill: - self.send('save-all') message = self.restart_message if respawn else self.stop_message if self.kick_mode == 'all': for player in self.players: diff --git a/mk2/servers/__init__.py b/mk2/servers/__init__.py index 0160733..94af951 100644 --- a/mk2/servers/__init__.py +++ b/mk2/servers/__init__.py @@ -11,10 +11,11 @@ class Jar: - def __init__(self, name_long, name_short, url): + def __init__(self, name_long, name_short, url, display=True): self.name_long = list(name_long) self.name_short = list(name_short) self.url = str(url) + self.display = display for i, l in enumerate(self.name_long): l = l.replace(' ', '-').lower() @@ -108,10 +109,11 @@ def got_results(results): o = [] m = 0 for r in results: - left = '-'.join(r.name_short) - right = ' '.join(r.name_long) - m = max(m, len(left)) - o.append((left, right)) + if r.display: + left = '-'.join(r.name_short) + right = ' '.join(r.name_long) + m = max(m, len(left)) + o.append((left, right)) for left, right in sorted(o): listing += " %s | %s\n" % (left.ljust(m), right) diff --git a/mk2/servers/vanilla.py b/mk2/servers/vanilla.py index 94c1887..34547e8 100644 --- a/mk2/servers/vanilla.py +++ b/mk2/servers/vanilla.py @@ -10,6 +10,12 @@ def work(self): def handle_data(self, data): for k, v in json.loads(data)['latest'].iteritems(): self.add(('Vanilla', k.title()), (None, None), '{0}{1}/minecraft_server.{1}.jar'.format(self.base, v)) + + for version in json.loads(data)['versions']: + self.add(('Vanilla Version', version['id']), ('vanilla', None), '{0}{1}/minecraft_server.{1}.jar'.format(self.base, version['id']), False) + + self.add(('Vanilla,', 'Replace [version] with version'), ('vanilla', '[version]'), None) + self.commit() ref = Vanilla diff --git a/mk2/services/process.py b/mk2/services/process.py index a5a2a64..4d3d31d 100644 --- a/mk2/services/process.py +++ b/mk2/services/process.py @@ -103,7 +103,7 @@ def server_starting(self, e): self.stat_process.start(self.parent.config['java.ps.interval']) def _server_started(self, e): - self.parent.events.dispatch(events.ServerStarted(time=e.match.group(1))) + self.parent.events.dispatch(events.ServerStarted()) @defer.inlineCallbacks def server_stop(self, e):