77 Commits
Author SHA1 Message Date
selimaj-dev 7c52146d8e Merge pull request 'Support 0.1.3-beta and deprecate 0.1.2-beta by default' (#7) from support-0.1.3-beta into master
Reviewed-on: #7
2026-09-28 21:11:05 +00:00
selimaj-devandclaude b72279a7fd Support 0.1.3-beta and deprecate 0.1.2-beta by default
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-28 23:02:35 +02:00
selimaj-dev 399aced29d Merge pull request 'Support 0.1.2-beta and deprecate 0.1.1-beta by default' (#6) from release-0.1.2-beta into master
Reviewed-on: #6
2026-09-27 17:21:17 +00:00
selimaj-devandclaude a5a937694d Support 0.1.2-beta and deprecate 0.1.1-beta by default
0.1.2-beta changes nothing the server relies on, so 0.1.1-beta clients
still connect, with a notice to update.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 19:18:55 +02:00
selimaj-dev 0179da4bbf Merge pull request 'Require authentication for RPCs and rate-limit fan-out methods' (#5) from harden-rpc into master
Reviewed-on: #5
2026-09-25 18:04:31 +00:00
selimaj-devandclaude 56f511d5f6 Require authentication for RPCs and rate-limit fan-out methods
- Every method except auth_challenge/auth_verify now requires a verified
  session (auth::require) and answers "Not authenticated" otherwise.
  Before, an unauthenticated connection could send emote_event
  notifications to any connected player and probe who is online with
  get_player.
- Rate-limit per connection the methods that fan out to other players:
  emote (burst 5, +1/s) and send_player (burst 10, +1/s).
- Cap emote/send_player targets at 256 and de-duplicate them.
- Default SUPPORTED_VERSIONS to 0.1.1-beta.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 19:56:44 +02:00
selimaj-dev c4ff921a7c Merge pull request 'Authenticate through Mojang's session server; add version manifest' (#4) from mojang-session-auth into master
Reviewed-on: #4
2026-09-25 13:24:33 +00:00
selimaj-devandclaude c9abf5df77 Authenticate through Mojang's session server; add version manifest
Replace `auth` (which received the player's Minecraft access token) with
the vanilla online-mode flow, so the token never reaches this server:

- auth_challenge: validate the username and return a random one-time
  server id
- the client calls Mojang's session `join` with its token and that id
- auth_verify: confirm the join with Mojang's `hasJoined` and log the
  player in

Add GET /versions returning {"supported": [...], "deprecated": [...]}
from the SUPPORTED_VERSIONS / DEPRECATED_VERSIONS env vars (defaults:
0.1.0-beta3 supported), exposed in compose.yaml.

Refs saturnclientmc/saturnclient#7

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 15:22:18 +02:00
selimaj-dev 222567b735 Merge pull request 'Bump session-rs to 0.2.1' (#3) from session-rs-0.2.1 into master
Reviewed-on: #3
2026-09-25 03:49:05 +00:00
selimaj-devandclaude b1a836fc2a Bump session-rs to 0.2.1
Picks up the fix that releases session handlers on close, so closed
connections no longer leak their Session and handler state.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 05:48:01 +02:00
selimaj-dev b92358e9b6 Merge pull request 'Switch to axum and session-rs 0.2 with a health endpoint' (#2) from axum into master
Reviewed-on: #2
2026-09-25 03:46:09 +00:00
selimaj-devandclaude 1f874a5cff Switch to axum and session-rs 0.2 with a health endpoint
- Serve the session WebSocket on `/` through axum
  (`Session::from_axum`) with a 1 MiB message limit
- Add `/health` (checks the database) and a `server healthcheck`
  subcommand used by the Dockerfile HEALTHCHECK
- Shut down on SIGTERM/Ctrl+C so container stops are immediate
- Move per-connection handler registration into `register_handlers`

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 05:44:15 +02:00
selimaj-dev 6058367d96 Merge pull request 'Make server deployable with Docker Compose on Coolify' (#1) from coolify-deploy into master
Reviewed-on: #1
2026-09-25 03:01:47 +00:00
selimaj-devandclaude 2ea0a1228f Make server deployable with Docker Compose on Coolify
- Read bind address and database URL from BIND_ADDR / DATABASE_URL
  (defaults unchanged for local cargo run)
- Rename DockerFile to Dockerfile and rewrite it: current Rust for
  edition 2024, BuildKit cache mounts, non-root user, DB on /data
- Add compose.yaml publishing ${HOST_PORT:-8080} with a persistent
  data volume, and a .dockerignore

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-25 05:00:32 +02:00
selimaj-dev 89cffe3e99 Updated session version 2026-03-30 13:42:59 +02:00
selimaj-dev b2531665e2 Updated session version 2026-03-30 13:42:50 +02:00
Kr4ight 74987996c9 Merge pull request #5 from RudideC/patch-1
spain_flag, readme change
2026-03-25 12:22:37 +01:00
Kr4ight 6b04a85d25 Merge branch 'master' into patch-1 2026-03-25 12:22:29 +01:00
selimaj-dev d3beaea6ae Spain flag and removed spanish empire hat (does not exist) 2026-03-25 12:04:04 +01:00
Rudi b147078f26 the name of the client is saturnclient
:)
2026-03-21 23:29:53 +01:00
Rudi eded59456b Add 'spain_flag' to cosmetics list 2026-03-21 23:28:58 +01:00
selimaj-dev cd2d74b29c Merge pull request #4 from RudideC/patch-1
wow
2026-03-21 22:27:47 +01:00
selimaj-dev 49206dca38 Added spanish empire 2026-03-21 22:26:50 +01:00
Rudi 4e7bf88c34 wow 2026-03-21 22:26:20 +01:00
selimaj-dev 2aef3a339c Bucket end 2026-03-21 14:33:31 +01:00
selimaj-dev c834bf2909 Added cosmetics 2026-03-21 13:19:44 +01:00
selimaj-dev e7941fb2c9 Merge pull request #3 from saturnclientmc/rewritten
Rewritten
2026-02-23 10:06:49 -08:00
selimaj-dev ae7cf7bbb8 Dockerfile 2026-02-23 19:06:19 +01:00
selimaj-dev a0409c6763 Fixed 2026-02-23 18:42:35 +01:00
selimaj-dev 768bbd239b Attempting to fix sendplayer 2026-02-23 17:46:47 +01:00
selimaj-dev bdbd37307c Restructured for better modularity 2026-02-23 17:02:38 +01:00
selimaj-dev e250895386 Get user 2026-02-23 16:30:02 +01:00
selimaj-dev ffb88c86c3 Fixed bug and restructured 2026-02-23 09:09:30 +01:00
selimaj-dev a4b1ce559f Emote broadcasting 2026-02-23 08:27:36 +01:00
selimaj-dev 5cc4685588 Session management 2026-02-23 07:57:10 +01:00
selimaj-dev d42d753a87 Reqwest 2026-02-23 05:49:08 +01:00
selimaj-dev c2fefd9904 Gitignore db 2026-02-23 03:19:38 +01:00
selimaj-dev db806e76af Fixed init-db error 2026-02-23 03:14:22 +01:00
selimaj-dev 02985ce60a Working code 2026-02-23 02:49:03 +01:00
selimaj-dev cdb40f64f4 Structuring 2026-02-23 02:25:38 +01:00
selimaj-dev 7b532981a1 Structuring 2026-02-23 02:02:22 +01:00
selimaj-dev 56fb719cca Testing new session server 2026-02-23 00:36:24 +01:00
selimaj-dev 9b554aa510 Rewriting 2026-02-20 18:47:36 +01:00
selimaj-dev 5139fda1c3 Fixed duplication when buying 2025-09-03 04:44:05 +02:00
selimaj-dev 3b387033ed Black hole cloaks 2025-09-03 04:33:52 +02:00
selimaj-dev 86a66e0d60 amg petronas and ferrari with redbull 2025-08-21 00:45:51 +02:00
selimaj-dev bcfc9a3447 Bmw cloak 2025-08-19 20:12:53 +02:00
Leo Codes 53e73a813d Merge pull request #1 from saturnclientmc/notify-system
Notify system
2025-08-16 10:40:24 -04:00
selimaj-dev 8308b9e011 Notify system 2025-08-16 16:30:16 +02:00
selimaj-dev bc298fe0fa hat buy 2025-06-23 07:01:22 +02:00