omegga 1.14.0 → 1.15.0

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 (161) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +63 -1139
  3. package/dist/brickadia/server.js +9 -0
  4. package/dist/brickadia/server.js.map +1 -1
  5. package/dist/cli/plugin.js +3 -3
  6. package/dist/cli/plugin.js.map +1 -1
  7. package/dist/cli/terminal.js +4 -2
  8. package/dist/cli/terminal.js.map +1 -1
  9. package/dist/config/index.js +78 -11
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/config/types.js +43 -0
  12. package/dist/config/types.js.map +1 -1
  13. package/dist/db/nedbImport.js +94 -87
  14. package/dist/db/nedbImport.js.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/logger.js.map +1 -1
  18. package/dist/main.js +1 -0
  19. package/dist/main.js.map +1 -1
  20. package/dist/metrics/collectors/brickadia.js +391 -0
  21. package/dist/metrics/collectors/brickadia.js.map +1 -0
  22. package/dist/metrics/collectors/host.js +92 -0
  23. package/dist/metrics/collectors/host.js.map +1 -0
  24. package/dist/metrics/collectors/omegga.js +136 -0
  25. package/dist/metrics/collectors/omegga.js.map +1 -0
  26. package/dist/metrics/collectors/process.js +112 -0
  27. package/dist/metrics/collectors/process.js.map +1 -0
  28. package/dist/metrics/errors.js +34 -0
  29. package/dist/metrics/errors.js.map +1 -0
  30. package/dist/metrics/index.js +197 -0
  31. package/dist/metrics/index.js.map +1 -0
  32. package/dist/metrics/plugin.js +306 -0
  33. package/dist/metrics/plugin.js.map +1 -0
  34. package/dist/metrics/registry.js +349 -0
  35. package/dist/metrics/registry.js.map +1 -0
  36. package/dist/metrics/render.js +77 -0
  37. package/dist/metrics/render.js.map +1 -0
  38. package/dist/omegga/auth.js +1 -1
  39. package/dist/omegga/auth.js.map +1 -1
  40. package/dist/omegga/commandInjector.js +30 -13
  41. package/dist/omegga/commandInjector.js.map +1 -1
  42. package/dist/omegga/matchers/chat.js +13 -1
  43. package/dist/omegga/matchers/chat.js.map +1 -1
  44. package/dist/omegga/matchers/index.js.map +1 -1
  45. package/dist/omegga/plugin/interface.js +16 -1
  46. package/dist/omegga/plugin/interface.js.map +1 -1
  47. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +12 -4
  48. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -1
  49. package/dist/omegga/plugin/plugin_node_safe.js +16 -2
  50. package/dist/omegga/plugin/plugin_node_safe.js.map +1 -1
  51. package/dist/omegga/plugin/plugin_node_unsafe.js +9 -4
  52. package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -1
  53. package/dist/omegga/plugin.js +1 -1
  54. package/dist/omegga/plugin.js.map +1 -1
  55. package/dist/omegga/server.js +22 -10
  56. package/dist/omegga/server.js.map +1 -1
  57. package/dist/omegga/wrapper.js +4 -0
  58. package/dist/omegga/wrapper.js.map +1 -1
  59. package/dist/plugin.js +2 -1
  60. package/dist/plugin.js.map +1 -1
  61. package/dist/softconfig.js +26 -0
  62. package/dist/softconfig.js.map +1 -1
  63. package/dist/updater/steam.js +122 -58
  64. package/dist/updater/steam.js.map +1 -1
  65. package/dist/util/file.js +1 -1
  66. package/dist/util/file.js.map +1 -1
  67. package/dist/util/index.js +3 -1
  68. package/dist/util/index.js.map +1 -1
  69. package/dist/util/time.js.map +1 -1
  70. package/dist/util/wsl.js +4 -4
  71. package/dist/util/wsl.js.map +1 -1
  72. package/dist/webserver/backend/dashboards.js +601 -0
  73. package/dist/webserver/backend/dashboards.js.map +1 -0
  74. package/dist/webserver/backend/index.js +1 -1
  75. package/dist/webserver/backend/index.js.map +1 -1
  76. package/dist/webserver/backend/metrics.js +4 -90
  77. package/dist/webserver/backend/metrics.js.map +1 -1
  78. package/dist/webserver/backend/prometheus.js +124 -0
  79. package/dist/webserver/backend/prometheus.js.map +1 -0
  80. package/dist/webserver/backend/router/chat.js +1 -1
  81. package/dist/webserver/backend/router/chat.js.map +1 -1
  82. package/dist/webserver/backend/router/index.js +3 -1
  83. package/dist/webserver/backend/router/index.js.map +1 -1
  84. package/dist/webserver/backend/router/metrics.js +206 -0
  85. package/dist/webserver/backend/router/metrics.js.map +1 -0
  86. package/dist/webserver/backend/router/mfa.js.map +1 -1
  87. package/dist/webserver/backend/router/plugin.js +2 -2
  88. package/dist/webserver/backend/router/plugin.js.map +1 -1
  89. package/dist/webserver/backend/router/server.js +8 -7
  90. package/dist/webserver/backend/router/server.js.map +1 -1
  91. package/dist/webserver/backend/router/session.js +6 -0
  92. package/dist/webserver/backend/router/session.js.map +1 -1
  93. package/dist/webserver/backend/scopes.js +26 -0
  94. package/dist/webserver/backend/scopes.js.map +1 -1
  95. package/dist/webserver/backend/trpc.js +39 -16
  96. package/dist/webserver/backend/trpc.js.map +1 -1
  97. package/dist/webserver/backend/util.js +4 -4
  98. package/dist/webserver/backend/util.js.map +1 -1
  99. package/dist/worker.js +47 -5
  100. package/dist/worker.js.map +1 -1
  101. package/docs/CNAME +1 -0
  102. package/docs/README.md +43 -0
  103. package/docs/SUMMARY.md +40 -0
  104. package/docs/api/README.md +21 -0
  105. package/docs/api/events.md +109 -0
  106. package/docs/api/log-parsing.md +162 -0
  107. package/docs/api/omegga.md +785 -0
  108. package/docs/api/player.md +525 -0
  109. package/docs/api/plugin.md +284 -0
  110. package/docs/api/types.md +339 -0
  111. package/docs/config.md +75 -0
  112. package/docs/containers.md +105 -0
  113. package/docs/env.md +25 -0
  114. package/docs/guides/https.md +121 -0
  115. package/docs/guides/remote.md +81 -0
  116. package/docs/install/README.md +30 -0
  117. package/docs/install/linux.md +152 -0
  118. package/docs/install/wsl.md +40 -0
  119. package/docs/metrics.md +451 -0
  120. package/docs/plugins/README.md +280 -0
  121. package/docs/plugins/installing.md +41 -0
  122. package/docs/plugins/jsonrpc.md +258 -0
  123. package/docs/plugins/safe.md +136 -0
  124. package/docs/plugins/unsafe.md +68 -0
  125. package/docs/running.md +37 -0
  126. package/docs/troubleshooting.md +32 -0
  127. package/docs/uninstall.md +22 -0
  128. package/package.json +3 -1
  129. package/public/app.html +476 -6
  130. package/public/assets/IconWorld-DgiOjCuo.js +2 -0
  131. package/public/assets/IconWorld-DgiOjCuo.js.map +1 -0
  132. package/public/assets/IconWorldPlus-DJJNrT87.js +2 -0
  133. package/public/assets/IconWorldPlus-DJJNrT87.js.map +1 -0
  134. package/public/assets/app-4YRWLxdq.js +7 -0
  135. package/public/assets/app-4YRWLxdq.js.map +1 -0
  136. package/public/assets/index-X0t22aZ9.js +12 -0
  137. package/public/assets/{index-QURAMkP4.js.map → index-X0t22aZ9.js.map} +1 -1
  138. package/public/assets/shared/@components-L4cuUE3Y.js +2 -0
  139. package/public/assets/shared/@components-L4cuUE3Y.js.map +1 -0
  140. package/public/assets/shared/@hooks-DlZ8TOOZ.js +2 -0
  141. package/public/assets/shared/@hooks-DlZ8TOOZ.js.map +1 -0
  142. package/public/assets/shared/@tabler_icons-react-i-Q2c_A_.js +3 -0
  143. package/public/assets/shared/{@tabler_icons-react-B98xAreb.js.map → @tabler_icons-react-i-Q2c_A_.js.map} +1 -1
  144. package/public/auth.html +11 -1
  145. package/templates/safe/omegga.plugin.js +9 -1
  146. package/templates/safe-ts/omegga.d.ts +92 -6
  147. package/templates/safe-ts/omegga.plugin.ts +11 -2
  148. package/templates/unsafe/omegga.main.js +2 -1
  149. package/public/assets/IconWorld-CmdphDgp.js +0 -2
  150. package/public/assets/IconWorld-CmdphDgp.js.map +0 -1
  151. package/public/assets/IconWorldPlus-Bzt4-NTF.js +0 -2
  152. package/public/assets/IconWorldPlus-Bzt4-NTF.js.map +0 -1
  153. package/public/assets/app-kNLgsOPx.js +0 -7
  154. package/public/assets/app-kNLgsOPx.js.map +0 -1
  155. package/public/assets/index-QURAMkP4.js +0 -12
  156. package/public/assets/shared/@components--CUpATJw.js +0 -2
  157. package/public/assets/shared/@components--CUpATJw.js.map +0 -1
  158. package/public/assets/shared/@hooks-CBm94p6G.js +0 -2
  159. package/public/assets/shared/@hooks-CBm94p6G.js.map +0 -1
  160. package/public/assets/shared/@tabler_icons-react-B98xAreb.js +0 -3
  161. /package/{doc → docs}/permissions.md +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  ## Latest
4
4
 
5
+ ## 1.15.0 - 2026-08-31
6
+
7
+ A Prometheus metrics endpoint, dashboards for it in the web UI, and the README split into a documentation site.
8
+
9
+ - Add a `ban` event with the name, kicker, reason, and duration
10
+ - Plugins: `getServerStatus` reports `maxPlayers` and a generic `stats` record of every integer line in the status header
11
+ - SteamCMD update checks and downloads no longer block the event loop
12
+
13
+ ### Metrics
14
+
15
+ - Add a Prometheus scrape endpoint, off by default (`metrics.enabled`), serving game, omegga, and host metrics on its own bind/port/path. Unauthenticated unless `metrics.token` is set
16
+ - Plugins: Add a `metrics` constructor argument with counters, gauges, and histograms, exported as `omegga_plugin_<plugin>_<metric>`
17
+ - Web UI: Add a Metrics tab with players, server, plugins, and host dashboards, read out of a Prometheus that scrapes omegga (`metrics.prometheus.*`), each with its own permission
18
+ - Add `METRICS_ENABLED`, `METRICS_BIND`, `METRICS_PORT`, and `METRICS_PROMETHEUS_*` environment overrides
19
+
20
+ ### Docs
21
+
22
+ - Split the README into `docs/`, fold in the wiki, and publish it as an mdbook at https://omegga.brickadia.dev
23
+ - API pages are generated from the TypeScript declarations by `npm run docs:api`
24
+ - CI: Deploy the book to GitHub Pages on pushes to master; `just mdbook` builds it locally
25
+
5
26
  ## 1.14.0 - 2026-08-28
6
27
 
7
28
  - Add `omegga.binaryPath`: the directory containing the game server binary