serverwatcher 5.26__tar.gz → 5.27__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.26/src/serverwatcher.egg-info → serverwatcher-5.27}/PKG-INFO +1 -1
  2. {serverwatcher-5.26 → serverwatcher-5.27}/pyproject.toml +1 -1
  3. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/configclasses/messages.py +1 -2
  4. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/configclasses/watcher.py +8 -0
  5. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/defaultconfigs/messages.yaml +1 -1
  6. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/defaultconfigs/watcher.yaml +5 -0
  7. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/validator.py +1 -1
  8. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/watcher.py +2 -2
  9. {serverwatcher-5.26 → serverwatcher-5.27/src/serverwatcher.egg-info}/PKG-INFO +1 -1
  10. {serverwatcher-5.26 → serverwatcher-5.27}/LICENSE +0 -0
  11. {serverwatcher-5.26 → serverwatcher-5.27}/README.md +0 -0
  12. {serverwatcher-5.26 → serverwatcher-5.27}/setup.cfg +0 -0
  13. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/__init__.py +0 -0
  14. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/__main__.py +0 -0
  15. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/configclasses/__init__.py +0 -0
  16. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/configclasses/config.py +0 -0
  17. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher/defaultconfigs/config.yaml +0 -0
  18. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher.egg-info/SOURCES.txt +0 -0
  19. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
  20. {serverwatcher-5.26 → serverwatcher-5.27}/src/serverwatcher.egg-info/requires.txt +0 -0
  21. {serverwatcher-5.26 → serverwatcher-5.27}/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.26
3
+ Version: 5.27
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.26"
10
+ version = "5.27"
11
11
  description = "A HungerLib-powered Minecraft server automation engine."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.14"
@@ -56,7 +56,6 @@ class MessagesConfig:
56
56
 
57
57
  restart_action_sent: str = 'restarts.restart_action_sent'
58
58
  server_back_online: str = 'restarts.back_online'
59
- server_back_online_broadcast: str = 'restarts.back_online_broadcast'
60
59
  server_failed_restart: str = 'restarts.failed_restart'
61
60
 
62
61
 
@@ -112,5 +111,5 @@ class fallbacks:
112
111
 
113
112
  restart_action_sent = 'Restart action sent. Waiting...'
114
113
  server_back_online = 'Server is back online!'
115
- server_back_online_broadcast = '{prefix} <green>Restart successful!'
114
+ server_back_online_log = 'ServerWatcher successfully restarted the server.'
116
115
  server_failed_restart = 'Server failed to restart!'
@@ -7,6 +7,10 @@ class WatcherConfig:
7
7
 
8
8
  watch_interval: int = 'watch_interval'
9
9
 
10
+ sample_duration: float = 'sampling.duration'
11
+ sample_interval: float = 'sampling.interval'
12
+ sample_outlier_drop: int = 'sampling.drop_outliers'
13
+
10
14
  threshold_ram: int = 'thresholds.ram'
11
15
  threshold_cpu: int = 'thresholds.cpu'
12
16
  threshold_uptime: int = 'thresholds.uptime'
@@ -36,6 +40,10 @@ class WatcherConfig:
36
40
  class fallbacks:
37
41
  watch_interval = 300
38
42
 
43
+ sample_duration = 5.0
44
+ sample_interval = 1.0
45
+ sample_outlier_drop = 1
46
+
39
47
  threshold_ram = 6
40
48
  threshold_cpu = 150
41
49
  threshold_uptime = 12
@@ -76,5 +76,5 @@ reasons:
76
76
  restarts:
77
77
  restart_action_sent: 'Restart action sent. Waiting...'
78
78
  back_online: 'Server is back online!'
79
- back_online_broadcast: '{prefix} <green>Restart successful!'
79
+ back_online_log: 'ServerWatcher successfully restarted the server.'
80
80
  failed_restart: 'Server failed to restart!'
@@ -1,5 +1,10 @@
1
1
  watch_interval: 300 # in seconds
2
2
 
3
+ sampling:
4
+ duration: 5.0 # total seconds to sample
5
+ interval: 1.0 # delay between samples (0 = no smoothing)
6
+ drop_outliers: 1 # number of highest and lowest samples to drop
7
+
3
8
  thresholds:
4
9
  ram: 6
5
10
  cpu: 150
@@ -92,7 +92,7 @@ def validate_watcher_config(watcherconfig):
92
92
 
93
93
 
94
94
  def validate_messages_config(messages):
95
- pass
95
+ pass # may add validation later
96
96
  # for f in fields(MessagesConfig):
97
97
  # if f.name.startswith("__"):
98
98
  # continue
@@ -111,7 +111,7 @@ class ServerWatcher:
111
111
 
112
112
  if alive:
113
113
  self.router.info(self.messages.server_back_online)
114
- self.router.broadcast(self.messages.server_back_online_broadcast)
114
+ self.router.destination(self.messages.server_back_online_log)
115
115
  else:
116
116
  self.router.error(self.messages.server_failed_restart)
117
117
 
@@ -166,7 +166,7 @@ class ServerWatcher:
166
166
  self.shutdown()
167
167
 
168
168
  self.server.refresh()
169
- snap = utils.Snapshot(self.server, duration=2.0, interval=1.0, drop_outliers=1, gb=True)
169
+ snap = utils.Snapshot(self.server, duration=self.watcherconfig.sample_duration, interval=self.watcher_config.sample_interval, drop_outliers=self.watcher_config.sample_outlier_drop, 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.26
3
+ Version: 5.27
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
File without changes
File without changes
File without changes