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.
- {serverwatcher-5.24.1/src/serverwatcher.egg-info → serverwatcher-5.25}/PKG-INFO +1 -1
- {serverwatcher-5.24.1 → serverwatcher-5.25}/pyproject.toml +1 -1
- serverwatcher-5.25/src/serverwatcher/__main__.py +34 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/config.py +0 -4
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/defaultconfigs/config.yaml +0 -1
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/validator.py +1 -41
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/watcher.py +0 -1
- {serverwatcher-5.24.1 → serverwatcher-5.25/src/serverwatcher.egg-info}/PKG-INFO +1 -1
- serverwatcher-5.24.1/src/serverwatcher/__main__.py +0 -11
- {serverwatcher-5.24.1 → serverwatcher-5.25}/LICENSE +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/README.md +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/setup.cfg +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/__init__.py +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/__init__.py +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/messages.py +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/configclasses/watcher.py +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/defaultconfigs/messages.yaml +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/SOURCES.txt +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/requires.txt +0 -0
- {serverwatcher-5.24.1 → serverwatcher-5.25}/src/serverwatcher.egg-info/top_level.txt +0 -0
|
@@ -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
|
|
|
@@ -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
|
-
|
|
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__':
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|