serverwatcher 5.9.dev13__tar.gz → 5.9.dev15__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. {serverwatcher-5.9.dev13/src/serverwatcher.egg-info → serverwatcher-5.9.dev15}/PKG-INFO +1 -1
  2. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/pyproject.toml +1 -1
  3. serverwatcher-5.9.dev15/src/serverwatcher/__main__.py +24 -0
  4. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/configclasses/config.py +4 -3
  5. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/configclasses/messages.py +0 -1
  6. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/defaultconfigs/config.yaml +5 -3
  7. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/defaultconfigs/messages.yaml +0 -1
  8. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/validator.py +2 -2
  9. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/watcher.py +3 -8
  10. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15/src/serverwatcher.egg-info}/PKG-INFO +1 -1
  11. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher.egg-info/SOURCES.txt +1 -0
  12. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/LICENSE +0 -0
  13. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/README.md +0 -0
  14. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/setup.cfg +0 -0
  15. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/__init__.py +0 -0
  16. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/configclasses/__init__.py +0 -0
  17. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/configclasses/watcher.py +0 -0
  18. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
  19. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
  20. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher.egg-info/requires.txt +0 -0
  21. {serverwatcher-5.9.dev13 → serverwatcher-5.9.dev15}/src/serverwatcher.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 5.9.dev13
3
+ Version: 5.9.dev15
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "serverwatcher"
10
- version = "5.9.dev13"
10
+ version = "5.9.dev15"
11
11
  description = "A HungerLib-powered Minecraft server automation engine."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.14"
@@ -0,0 +1,24 @@
1
+ # serverwatcher/__main__.py
2
+
3
+ import argparse
4
+ from .watcher import ServerWatcher
5
+ from serverwatcher.validator import validate_all
6
+
7
+ def main():
8
+ parser = argparse.ArgumentParser()
9
+ parser.add_argument("--init", action="store_true")
10
+ args = parser.parse_args()
11
+
12
+ if args.init:
13
+ # Create default configs
14
+ from .initializer import initialize
15
+ initialize()
16
+ return
17
+
18
+ validate_all()
19
+
20
+ watcher = ServerWatcher()
21
+ watcher.run()
22
+
23
+ if __name__ == "__main__":
24
+ main()
@@ -15,13 +15,14 @@ class GlobalConfig:
15
15
  server_domain: str = "server.domain"
16
16
  server_port: int = "server.port"
17
17
 
18
- rcon_port: int = "server.rcon_port"
19
- rcon_password: str = "server.rcon_password"
20
18
  tps_command: str = "server.tps_command"
21
19
 
20
+ bridge_token: str = "hungerbridge.token"
21
+ bridge_url: str = "hungerbridge.url"
22
+ bridge_port: int = "hungerbridge.port"
23
+
22
24
  enable_logging: bool = "logger.enabled"
23
25
  logger_name: str = "logger.name"
24
26
  log_path: str = "logger.log_path"
25
27
 
26
- console_backspaces: int = "terminal.backspaces"
27
28
  clear_terminal: bool = "terminal.enable_clearing"
@@ -26,7 +26,6 @@ class MessagesConfig:
26
26
  second_2: str = "broadcast_seconds.2"
27
27
  second_1: str = "broadcast_seconds.1"
28
28
 
29
- startup: str = "logging.startup"
30
29
  status_check: str = "logging.status_check"
31
30
  validation_fail: str = "logging.validation_fail"
32
31
  validation_ok: str = "logging.validation_ok"
@@ -13,15 +13,17 @@ server:
13
13
  server_id: 'CHANGE_ME'
14
14
  domain: 'mc.example.com'
15
15
  port: 25565
16
- rcon_port: 25575
17
- rcon_password: 'password'
18
16
  tps_command: 'ticks'
19
17
 
18
+ hungerbridge:
19
+ token: 'CHANGE_ME'
20
+ url: 'http://example.com'
21
+ port: 1913
22
+
20
23
  logger:
21
24
  enabled: True
22
25
  name: 'Server Watcher'
23
26
  log_path: '/home/container/logs/'
24
27
 
25
28
  terminal:
26
- backspaces: 8
27
29
  enable_clearing: True
@@ -7,7 +7,6 @@ broadcast_minutes: {}
7
7
  broadcast_seconds: {}
8
8
 
9
9
  logging:
10
- startup: 'ServerWatcher is running!'
11
10
  status_check: 'Checking server status...'
12
11
  validation_fail: 'Validation FAILED.'
13
12
  validation_ok: 'All validation checks succeeded.'
@@ -47,8 +47,8 @@ def validate_global_config(config, errors):
47
47
  if config.server_port <= 0 or config.server_port > 65535:
48
48
  errors.append(f"server_port: must be 1–65535 (got {config.server_port})")
49
49
 
50
- if config.rcon_port <= 0 or config.rcon_port > 65535:
51
- errors.append(f"rcon_port: must be 1–65535 (got {config.rcon_port})")
50
+ if config.bridge_port <= 0 or config.rcon_port > 65535:
51
+ errors.append(f"bridge_port: must be 1–65535 (got {config.bridge_port})")
52
52
 
53
53
  def validate_watcher_config(watcherconfig, errors):
54
54
  if watcherconfig.restart_wait_seconds < 1:
@@ -7,9 +7,7 @@ from hungerlib import servers, MessageRouter, loadConfig, utils, datamap_api, ma
7
7
  from serverwatcher.configclasses.config import GlobalConfig
8
8
  from serverwatcher.configclasses.messages import MessagesConfig
9
9
  from serverwatcher.configclasses.watcher import WatcherConfig
10
- from serverwatcher.validator import validate_all
11
10
 
12
- validate_all()
13
11
 
14
12
 
15
13
  class ServerWatcher:
@@ -57,8 +55,8 @@ class ServerWatcher:
57
55
  server_id=self.config.server_id,
58
56
  server_domain=self.config.server_domain,
59
57
  server_port=self.config.server_port,
60
- rcon_port=self.config.rcon_port,
61
- rcon_password=self.config.rcon_password,
58
+ bridge_url=self.config.bridge_url.rstrip("/") + ":" + self.config.bridge_port,
59
+ bridge_token=self.config.bridge_token,
62
60
  tpsCommand=self.config.tps_command,
63
61
  )
64
62
 
@@ -69,7 +67,6 @@ class ServerWatcher:
69
67
  server=self.server,
70
68
  log_path=self.config.log_path,
71
69
  formatter=self._fmt,
72
- console_backspaces=self.config.console_backspaces,
73
70
  )
74
71
 
75
72
  self.tz = ZoneInfo(self.config.timezone)
@@ -86,14 +83,12 @@ class ServerWatcher:
86
83
  only_maps=only_maps,
87
84
  disable=disable,
88
85
  enable=enable,
89
- **ctx
90
86
  )
91
87
 
92
88
  self.router.say(
93
89
  msg,
94
90
  level=level,
95
91
  log=self.config.enable_logging,
96
- **ctx
97
92
  )
98
93
 
99
94
  def say_mc(self, template, level="info", only_maps=None, disable=None, enable=None, **ctx):
@@ -161,7 +156,7 @@ class ServerWatcher:
161
156
  )
162
157
 
163
158
  def evaluate(self):
164
- self.say(self.messages.startup)
159
+ self.say("ServerWatcher is running!")
165
160
 
166
161
  if not utils.validateAll(self.panel, self.server):
167
162
  self.say(self.messages.validation_fail, level="error")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 5.9.dev13
3
+ Version: 5.9.dev15
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -2,6 +2,7 @@ LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
4
  src/serverwatcher/__init__.py
5
+ src/serverwatcher/__main__.py
5
6
  src/serverwatcher/validator.py
6
7
  src/serverwatcher/watcher.py
7
8
  src/serverwatcher.egg-info/PKG-INFO