Skip to content

Releases: MEMOxiiii/portal

V2.6.2-1.26.50-2193

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 18 Sep 14:35
61e2d21

What's Changed

  • harden socket protocol against unbounded allocation, races, and panics by @MEMOxiiii in #6
  • fix session login race, leaked sessions on failure, and clustering deadlock by @MEMOxiiii in #7
  • fix config.json permissions, add CI test workflow, speed up Registry reads by @MEMOxiiii in #8
  • fix Transfer() always reporting success, and auth throttle double-close panic by @MEMOxiiii in #9
  • fix insecure default communication secret by @MEMOxiiii in #10
  • fix nil deref + leaked lock on early DimensionChangeDone, add transfer confirm timeout by @MEMOxiiii in #11
  • fix Server()/ServerConn() mismatch during and after a pending transfer by @MEMOxiiii in #12
  • disconnect the player when a stuck transfer times out by @MEMOxiiii in #13
  • fix socket server identity mismatch, disconnect deadlock, and slow-loris exposure by @MEMOxiiii in #14
  • fix stale session-store deletes and case-sensitive player name lookup by @MEMOxiiii in #15
  • fix registration race on fast reconnect, and auth write-side timeout by @MEMOxiiii in #16
  • fix whitelist rejecting players on exact-case name mismatch by @MEMOxiiii in #17
  • fix stale registration removal on concurrent reconnect under the same name by @MEMOxiiii in #18
  • add concurrent stress test for session store reconnect race by @MEMOxiiii in #19
  • fix Logger.Write violating the io.Writer contract by @MEMOxiiii in #20
  • speed up entity metadata translation on the hottest packet loop by @MEMOxiiii in #21
  • prune health checker failure counts for deregistered servers by @MEMOxiiii in #22
  • parallelize cluster presence heartbeat announcements by @MEMOxiiii in #23
  • fix authenticated socket writes having no deadline at all by @MEMOxiiii in #24
  • enable TCP keepalive on the communication socket by @MEMOxiiii in #25
  • add ReadHeaderTimeout to the metrics HTTP server by @MEMOxiiii in #26
  • fix re-registering a server resetting its player count and health by @MEMOxiiii in #27
  • fix stress tool reporting a false failure under heavy concurrent load by @MEMOxiiii in #28
  • add real end-to-end player join/transfer test harness by @MEMOxiiii in #29

Full Changelog: V2.6.1-1.26.50-2193...V2.6.2-1.26.50-2193

V2.6.1-1.26.50-2193

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 17 Sep 19:58
e0c86d1

What's Changed

  • fix nethernet backend dial tripled port by @MEMOxiiii in #5

Full Changelog: V2.6.0-1.26.50-2193...V2.6.1-1.26.50-2193

V2.6.0-1.26.50-2193

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 17 Sep 18:50

What's Changed

V2.5.0-1.26.45-2169

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 17 Sep 14:48
0a431a4

What's Changed

  • Add NetherNet transport support (default), mixed backend transports, and fixes by @MEMOxiiii in #3

Full Changelog: V2.4.0-1.26.44-2168...V2.5.0-1.26.45-2169

V2.4.0-1.26.44-2168

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 15 Aug 16:24
49b6a52

support minecraft 1.26.44

plugins-beta-2

plugins-beta-2 Pre-release
Pre-release

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 09 Aug 21:32

V2.3.0-1.26.40-2168

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 06 Aug 14:54

V2.2.2-1.26.30-1001

Choose a tag to compare

@MEMOxiiii MEMOxiiii released this 03 Jul 21:45
d110ebd

Portal Proxy V2.2.2-1.26.30-1001

A major upgrade to the proxy core — focused on load balancing, clustering, security hardening, and operational tooling. Ships alongside PortalDF V0.0.4 (protocol v2).

✨ Highlights

  • Weighted load balancing — servers carry a Weight; a weight-3 server takes ~3× the new players of a weight-1 server in the same pool.
  • Server groups & fallback routing — organise backends into pools (lobby, survival, …) with ordered fallback groups.
  • Draining mode — take a server out of rotation for a restart without dropping its current players.
  • Health checking — real RakNet pings pull hung/crashed servers out of load balancing and restore them automatically.
  • Redis clustering — resolve players connected to any proxy in the cluster via FindPlayerRequest.
  • Prometheus metrics — /metrics endpoint for players, servers, socket clients, and transfers.
  • Admin console — players, servers, kick, transfer, drain from stdin, no restart.
  • Event bus — subscribe to join/quit/transfer/health events, with per-handler panic isolation.

🔒 Security & Hardening

  • Optional TLS on the communication socket (min TLS 1.2)
  • Constant-time secret comparison
  • Per-IP auth throttle (5 fails/min → 5-min block)
  • IP guard — ban list + sliding-window rate limiting
  • io.ReadFull fix against partial-read corruption
  • Graceful shutdown on SIGINT/SIGTERM

📡 Protocol v2 (breaking)

  • New packets: DisconnectPlayer, SetServerDraining
  • RegisterServer gains Group + Weight
  • FindPlayerResponse gains Proxy

⚠️ Backend servers must update to PortalDF V0.0.4-BETA (or a protocol-v2 client) to authenticate.

⚙️ New config sections

network.communication.tls · security · metrics · routing · health_check · cluster

✅ Quality

  • build / vet / test clean; 41/41 feature checks pass under the race detector
  • Stress-tested at 1000 concurrent backends — zero errors, zero data races, clean teardown

Full changelog: changelog/V2.2.2-1.26.30-1001.md

V2.2.3-1.26.30-1001-BATA

Pre-release

Choose a tag to compare

V2.2.2-1.26.30-1001-BATA

Pre-release

Choose a tag to compare