serverwatcher 5.24.2__tar.gz → 5.26__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.2/src/serverwatcher.egg-info → serverwatcher-5.26}/PKG-INFO +1 -1
  2. {serverwatcher-5.24.2 → serverwatcher-5.26}/pyproject.toml +1 -1
  3. serverwatcher-5.26/src/serverwatcher/__main__.py +34 -0
  4. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/validator.py +1 -38
  5. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/watcher.py +1 -1
  6. {serverwatcher-5.24.2 → serverwatcher-5.26/src/serverwatcher.egg-info}/PKG-INFO +1 -1
  7. serverwatcher-5.24.2/src/serverwatcher/__main__.py +0 -11
  8. {serverwatcher-5.24.2 → serverwatcher-5.26}/LICENSE +0 -0
  9. {serverwatcher-5.24.2 → serverwatcher-5.26}/README.md +0 -0
  10. {serverwatcher-5.24.2 → serverwatcher-5.26}/setup.cfg +0 -0
  11. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/__init__.py +0 -0
  12. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/configclasses/__init__.py +0 -0
  13. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/configclasses/config.py +0 -0
  14. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/configclasses/messages.py +0 -0
  15. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/configclasses/watcher.py +0 -0
  16. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/defaultconfigs/config.yaml +0 -0
  17. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/defaultconfigs/messages.yaml +0 -0
  18. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
  19. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher.egg-info/SOURCES.txt +0 -0
  20. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
  21. {serverwatcher-5.24.2 → serverwatcher-5.26}/src/serverwatcher.egg-info/requires.txt +0 -0
  22. {serverwatcher-5.24.2 → serverwatcher-5.26}/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.2
3
+ Version: 5.26
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.2"
10
+ version = "5.26"
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()
@@ -106,52 +106,15 @@ def validate_all():
106
106
  messages = loadConfig(MessagesConfig)
107
107
  watcherconfig = loadConfig(WatcherConfig)
108
108
 
109
- # type checks
110
109
  v.validate_key_types(config, GlobalConfig)
111
110
  v.validate_key_types(messages, MessagesConfig)
112
111
  v.validate_key_types(watcherconfig, WatcherConfig)
113
112
 
114
- # semantic checks
115
113
  validate_global_config(config)
116
114
  validate_watcher_config(watcherconfig)
117
115
  validate_messages_config(messages)
118
116
 
119
- critical_default_keys = [
120
- "panel_url",
121
- "panel_api_key",
122
- "server_id",
123
- "server_domain",
124
- "bridge_token",
125
- ]
126
- critical_defaults_used = [
127
- d for d in v.defaults
128
- if any(d.startswith(k) for k in critical_default_keys)
129
- ]
130
-
131
- if len(critical_defaults_used) >= 3:
132
- print('❌ CONFIG VALIDATION FAILED:\nIt looks like you haven\'t configured this yet! Please change these defaults:')
133
- for d in critical_defaults_used:
134
- print(' -', d)
135
- sys.exit(1)
136
-
137
- if v.errors or v.defaults:
138
- print('❌ CONFIG VALIDATION FAILED:')
139
- for e in v.errors:
140
- print(' -', e)
141
- for d in v.defaults:
142
- print(' -', d)
143
- if v.warnings:
144
- print('\nWarnings:')
145
- for w in v.warnings:
146
- print(' -', w)
147
- sys.exit(1)
148
-
149
- if v.warnings:
150
- print('⚠️ CONFIG VALIDATION WARNINGS:')
151
- for w in v.warnings:
152
- print(' -', w)
153
-
154
- print('✅ All configs are valid.')
117
+ return v.run(config, messages, watcherconfig)
155
118
 
156
119
 
157
120
  if __name__ == '__main__':
@@ -166,7 +166,7 @@ class ServerWatcher:
166
166
  self.shutdown()
167
167
 
168
168
  self.server.refresh()
169
- snap = utils.Snapshot(self.server, 2, True)
169
+ snap = utils.Snapshot(self.server, duration=2.0, interval=1.0, drop_outliers=1, gb=True)
170
170
 
171
171
  pro = 0
172
172
  anti = 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 5.24.2
3
+ Version: 5.26
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