serverwatcher 5.24.1__tar.gz → 5.25__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 (22) hide show
  1. {serverwatcher-5.24.1/src/serverwatcher.egg-info → serverwatcher-5.25}/PKG-INFO +1 -1
  2. {serverwatcher-5.24.1 → serverwatcher-5.25}/pyproject.toml +1 -1
  3. serverwatcher-5.25/src/serverwatcher/__main__.py +34 -0
  4. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/config.py +0 -4
  5. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/defaultconfigs/config.yaml +0 -1
  6. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/validator.py +1 -41
  7. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/watcher.py +0 -1
  8. {serverwatcher-5.24.1 → serverwatcher-5.25/src/serverwatcher.egg-info}/PKG-INFO +1 -1
  9. serverwatcher-5.24.1/src/serverwatcher/__main__.py +0 -11
  10. {serverwatcher-5.24.1 → serverwatcher-5.25}/LICENSE +0 -0
  11. {serverwatcher-5.24.1 → serverwatcher-5.25}/README.md +0 -0
  12. {serverwatcher-5.24.1 → serverwatcher-5.25}/setup.cfg +0 -0
  13. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/__init__.py +0 -0
  14. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/__init__.py +0 -0
  15. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/messages.py +0 -0
  16. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/watcher.py +0 -0
  17. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/defaultconfigs/messages.yaml +0 -0
  18. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
  19. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/SOURCES.txt +0 -0
  20. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
  21. {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/requires.txt +0 -0
  22. {serverwatcher-5.24.1 → serverwatcher-5.25}/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.24.1
3
+ Version: 5.25
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.24.1"
10
+ version = "5.25"
11
11
  description = "A HungerLib-powered Minecraft server automation engine."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.14"
@@ -0,0 +1,34 @@
1
+ from .watcher import ServerWatcher
2
+ from .validator import validate_all
3
+ from hungerlib.utils.exceptions import (
4
+ ValidationError,
5
+ FatalValidationError,
6
+ ValidationFallbacks,
7
+ )
8
+ import time
9
+
10
+ def main():
11
+ try:
12
+ validate_all()
13
+
14
+ except FatalValidationError as e:
15
+ print("❌ FATAL CONFIG ERROR:")
16
+ print(e)
17
+ return # fully cancel
18
+
19
+ except ValidationFallbacks as e:
20
+ print("⚠️ CONFIG DEFAULTS IN USE:")
21
+ print(e)
22
+ print("Continuing in 5 seconds...")
23
+ time.sleep(5)
24
+
25
+ except ValidationError as e:
26
+ print("❌ CONFIG ERROR:")
27
+ print(e)
28
+ return # non-fatal but still cancel
29
+
30
+ watcher = ServerWatcher()
31
+ watcher.run()
32
+
33
+ if __name__ == "__main__":
34
+ main()
@@ -16,8 +16,6 @@ class GlobalConfig:
16
16
  server_domain: str = 'server.domain'
17
17
  server_port: int = 'server.port'
18
18
 
19
- tps_command: str = 'server.tps_command'
20
-
21
19
  bridge_token: str = 'hungerbridge.token'
22
20
  bridge_port: int = 'hungerbridge.port'
23
21
 
@@ -45,8 +43,6 @@ class fallbacks:
45
43
  server_domain = 'mc.example.com'
46
44
  server_port = 25565
47
45
 
48
- tps_command = 'ticks'
49
-
50
46
  bridge_token = 'CHANGE_ME'
51
47
  bridge_port = 1913
52
48
 
@@ -10,7 +10,6 @@ server:
10
10
  server_id: 'CHANGE_ME'
11
11
  domain: 'mc.example.com'
12
12
  port: 25565
13
- tps_command: 'ticks'
14
13
 
15
14
  hungerbridge:
16
15
  token: 'CHANGE_ME'
@@ -45,9 +45,6 @@ def validate_global_config(config):
45
45
  if c.server_port is not None and not (1 <= c.server_port <= 65535):
46
46
  v.errors.append(f'server_port: must be 1–65535 (got "{c.server_port}")')
47
47
 
48
- # tps_command
49
- v.check_field(c, "tps_command")
50
-
51
48
  # hungerbridge
52
49
  v.check_field(c, "bridge_token", allow_fallback=False)
53
50
  v.check_field(c, "bridge_port")
@@ -109,52 +106,15 @@ def validate_all():
109
106
  messages = loadConfig(MessagesConfig)
110
107
  watcherconfig = loadConfig(WatcherConfig)
111
108
 
112
- # type checks
113
109
  v.validate_key_types(config, GlobalConfig)
114
110
  v.validate_key_types(messages, MessagesConfig)
115
111
  v.validate_key_types(watcherconfig, WatcherConfig)
116
112
 
117
- # semantic checks
118
113
  validate_global_config(config)
119
114
  validate_watcher_config(watcherconfig)
120
115
  validate_messages_config(messages)
121
116
 
122
- critical_default_keys = [
123
- "panel_url",
124
- "panel_api_key",
125
- "server_id",
126
- "server_domain",
127
- "bridge_token",
128
- ]
129
- critical_defaults_used = [
130
- d for d in v.defaults
131
- if any(d.startswith(k) for k in critical_default_keys)
132
- ]
133
-
134
- if len(critical_defaults_used) >= 3:
135
- print('❌ CONFIG VALIDATION FAILED:\nIt looks like you haven\'t configured this yet! Please change these defaults:')
136
- for d in critical_defaults_used:
137
- print(' -', d)
138
- sys.exit(1)
139
-
140
- if v.errors or v.defaults:
141
- print('❌ CONFIG VALIDATION FAILED:')
142
- for e in v.errors:
143
- print(' -', e)
144
- for d in v.defaults:
145
- print(' -', d)
146
- if v.warnings:
147
- print('\nWarnings:')
148
- for w in v.warnings:
149
- print(' -', w)
150
- sys.exit(1)
151
-
152
- if v.warnings:
153
- print('⚠️ CONFIG VALIDATION WARNINGS:')
154
- for w in v.warnings:
155
- print(' -', w)
156
-
157
- print('✅ All configs are valid.')
117
+ return v.run(config, messages, watcherconfig)
158
118
 
159
119
 
160
120
  if __name__ == '__main__':
@@ -35,7 +35,6 @@ class ServerWatcher:
35
35
  server_port=self.config.server_port,
36
36
  bridge_port=self.config.bridge_port,
37
37
  bridge_token=self.config.bridge_token,
38
- tpsCommand=self.config.tps_command,
39
38
  )
40
39
 
41
40
  # logger name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 5.24.1
3
+ Version: 5.25
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -1,11 +0,0 @@
1
- from .watcher import ServerWatcher
2
- from .validator import validate_all
3
-
4
- def main():
5
- validate_all()
6
-
7
- watcher = ServerWatcher()
8
- watcher.run()
9
-
10
- if __name__ == "__main__":
11
- main()
File without changes
File without changes
File without changes