From af2dc3af5371a43f658d3df4063278adffe1bfff Mon Sep 17 00:00:00 2001 From: rmanach Date: Tue, 29 Sep 2026 10:07:29 +0200 Subject: [PATCH] fix: update doc arch --- ENGINE.md | 42 ++++++++++++++++++++++++++++++----- README.md | 3 ++- diagrams/architecture.png | Bin 24663 -> 30973 bytes diagrams/architecture.puml | 9 ++++---- diagrams/ban.png | Bin 0 -> 40847 bytes diagrams/ban.puml | 22 ++++++++++++++++++ diagrams/player-session.png | Bin 35742 -> 44955 bytes diagrams/player-session.puml | 10 +++++---- diagrams/registration.png | Bin 49418 -> 48400 bytes diagrams/registration.puml | 4 ++-- diagrams/tasks.png | Bin 35579 -> 57085 bytes diagrams/tasks.puml | 17 ++++++++++++-- 12 files changed, 88 insertions(+), 19 deletions(-) create mode 100644 diagrams/ban.png create mode 100644 diagrams/ban.puml diff --git a/ENGINE.md b/ENGINE.md index 6de4dfc..dd94a90 100644 --- a/ENGINE.md +++ b/ENGINE.md @@ -18,11 +18,13 @@ Our ET server sits at home, reachable from the Internet only through the front s `etrelay` runs on the front and owns the public UDP port 27960. It does two things on **the same socket**: -- **Proxy**: forwards every client (players, server browsers, masters) to the ET server, like nginx `stream`. +- **Proxy**: forwards every client (players, server browsers, masters) to the ET server, one upstream socket per client address. Packets a client has no business sending (`rcon`...) are dropped on the way. - **Heartbeat**: sends the heartbeats itself, so the master challenges the **front** address. That challenge is just another client packet: it goes through the proxy, the ET server answers it, the answer leaves from the front address, and the master lists the front. The ET server's own heartbeats are disabled (`sv_master1..5 ""`). +The ET server is its own WireGuard peer of the front, with no proxy in between (the DNAT rule and the home nginx `stream` are gone). Each client reaches it from its own port of the front's tunnel address: the **control API** maps that port back to the real address, and bans addresses (see [Control API and bans](#control-api-and-bans)). + Masters are independent: a server is only listed on the masters it heartbeats, and each client browses its own master (ET 2.60b: `etmaster.idsoftware.com`, ET: Legacy: `etmaster.net`). The relay heartbeats both by default; diagrams show `etmaster.net`, the id Software master works the same way. ![After: everything goes through the front](diagrams/architecture.png) @@ -51,17 +53,39 @@ The last two lines are a server tracker that got the address from the master. ![Player: one session per client address](diagrams/player-session.png) -The ET server sees every client as the nginx `stream` host (one source IP, one port per session): IP bans don't work, same as before the relay. +The ET server sees every client as `:`: one source IP (the front's tunnel address), one port per session, the port of the session's upstream socket. Its own IP bans can't tell players apart: bans are etrelay's (below). A player coming back after the session expired gets a new port. + +## Control API and bans + +With `--control `, an HTTP API listens on the front's tunnel address (unreachable from the internet), bearer token on top. It serves an admin tool on the tunnel side: + +- `GET /sessions`: the open sessions, real client address and port the ET server sees, so the tool can put a real address on each player. +- `GET /bans`, `PUT /bans/{ip}`, `DELETE /bans/{ip}`: bans by source IP, with a reason and an optional duration. + +![Control API: real address and ban of a player](diagrams/ban.png) + +A ban cuts the address's sessions at once, and the relay loop drops its packets before any session lookup: the ET server gets nothing more from the player and times them out, and they can't come back. Bans are saved to `/bans.json` on each change (written next to it, then renamed), expired ones forgotten. + +## Filter + +Only what clients and masters send a server gets through, checked on the first word as the ET server tokenizes it: + +- in-game packets (no `\xff\xff\xff\xff` prefix): always; +- `getstatus`, `getinfo`, `getchallenge`, `connect`, PunkBuster's `PB_...`: allowed; +- anything else, `rcon` above all, dropped: it travels in clear, and a stream of it blocks the local admin's own rcon (2.60b runs one rcon per 500 ms, whoever sends it). + +`getstatus` and `getinfo` are limited per source IP (token bucket: a burst of 5, then 1/s): their answers are much bigger than the query, and from a spoofed source they would make the server a DDoS reflector. The limiter remembers at most 65 536 IPs, idle ones forgotten after 60 s. ## Internals -Single-threaded tokio runtime, three kinds of tasks: +Single-threaded tokio runtime, four kinds of tasks. The sessions and the bans are shared by the relay loop and the control API behind a mutex, never held across an `await`: ![Tasks and data flow](diagrams/tasks.png) -- **relay loop**: reads the public socket, finds the client's session and pushes the packet into its queue. No session, or an expired one: opens a new one (and purges expired entries). A full queue drops the packet, like any congested UDP hop. -- **session task**: owns one ephemeral socket connected to the ET server. Forwards the queue to the ET server and the ET server answers back to the client **through the public socket** (so they come from `:27960`). Ends after `SESSION_TIMEOUT` without a packet either way. +- **relay loop**: reads the public socket, runs the filter and the ban check, finds the client's session and pushes the packet into its queue. No session, or an expired one: opens a new one (and purges expired entries), unless `MAX_SESSIONS` are open. A full queue drops the packet, like any congested UDP hop. +- **session task**: owns one ephemeral socket connected to the ET server. Forwards the queue to the ET server and the ET server answers back to the client **through the public socket** (so they come from `:27960`). Ends after `SESSION_TIMEOUT` without a packet either way, or at once when a ban drops its queue's sender. - **heartbeat task**: probes the ET server with `getinfo` on its own socket (up to 3 attempts, 3 s each), then heartbeats the masters through the public socket. Masters are resolved on every heartbeat (DNS may change). +- **control API task** (with `--control`): axum on the tunnel address. Binding is retried every 10 s: the tunnel may come up after etrelay. ### Heartbeat states @@ -78,6 +102,10 @@ The master drops a server that stops heartbeating after a while anyway; the flat | `SESSION_TIMEOUT` | 2 min | Idle clients (server browsers) freed quickly; players send packets constantly | | `SESSION_QUEUE` | 64 packets | Burst absorption per client before dropping | | `MAX_PACKET` | 65 535 B | Any UDP datagram: `statusResponse` easily exceeds nginx's old 512 B buffer | +| `MAX_SESSIONS` | 2048 | One socket each: spoofed sources must not use up the file descriptors (`LimitNOFILE=4096` in the unit) | +| `QUERY_BURST`, `QUERY_RATE` | 5, then 1/s | `getstatus`/`getinfo` per source IP: a browser refresh or a master's check passes, a reflection attack doesn't | +| `MAX_QUERY_SOURCES`, `QUERY_FORGET` | 65 536 IPs, 60 s | The limiter's memory stays bounded under a flood of spoofed sources | +| `MIN_TOKEN` | 32 characters | Shortest control API token accepted | ### Protocol cheat sheet @@ -92,5 +120,7 @@ Connectionless packets start with `\xff\xff\xff\xff`, then a command: | `infoResponse` | server → master/browser | Hostname, map, player count, challenge | | `getstatus` / `statusResponse` | browser ↔ server | Full cvars + player list | | `getchallenge` / `challengeResponse` / `connect` | player ↔ server | Connection handshake | +| `PB_...` | PunkBuster ↔ server | PunkBuster's own packets | +| `rcon ` | admin → server | Remote console: dropped by the relay | -Anything else (no prefix) is in-game traffic: forwarded as-is, only counted in `--debug` logs. +Packets with no prefix are in-game traffic: forwarded as-is, only counted in `--debug` logs. diff --git a/README.md b/README.md index d4d75c4..20ec017 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ UDP relay + master heartbeat for a Wolfenstein: Enemy Territory server reachable only through a tunnel: runs on the front server (public IP) and makes the server show up in the in-game browser. ``` -players / masters ──> front :27960 (etrelay) ══wg══> :27960 (nginx stream) ──> ET :27960 +players / masters ──> front :27960 (etrelay) ══wg══> ET :27960 + front :8090 (control API) <══wg══ admin tool ``` - **Proxy**: one upstream socket per client address, packets forwarded as-is both ways, session dropped after 2 min of silence. diff --git a/diagrams/architecture.png b/diagrams/architecture.png index 708bb2019b519af0d7bc98b94f734e4735fc0cd4..9f26060a9a3375873be9ea431b63b5136ecf136f 100644 GIT binary patch literal 30973 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 literal 24663 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ℑs2SpcxbTlU5;6cHG$>p|8ga1UD9?C;N6+2yfY7{UEJBbz)-8BGs=qkj zbaH%b6c~yHCM*5Um>B$Q0J1r7{DB0N)KFeyNR#t>B?1D1W?V8*ppl4J>c&9-h(YQ$ z5QM-gA=FAk`i@PD@#i2c{IMQ#2T}hyj8YP2n_g<4KPT3vmea)Pi{bO<)c!LdNHR?< zF%ujg79Jxc^6Ipgp&_^aL6)}NDvc?C;mtj0aM>JoeeN1(VUup2T5OCVn z&XP+2ycqwB9cLy0fD!>xw*Mw%mU;t0!^Mc|3V{r~z3zFd^vPMq3Mso{69!&sHX zaRfF16S<3wrjnszh*RISx2jQqa$b~rhK3dMF+sy9{ z;ygs*@)goa$KhUkl+(4bNFs$=jZm6F1r`Hb9 zO$vb74I~8L6BU<2cfVJR571p9ew!#uqcMNF&?VL}D+MweEm;Tb+$nAmhPXmrr`w5uIy5N011e>o zV9NtsEapW|+fi1}Sbj;}7mIeu)wiQL5D0zzXbtRuT=dfi>%_N08W3}v`YB{o#=q0n zd)TD#N&Zg`=qDXSV~m1ao4SA<5Zn>n2`sXN7{F=-K&~H2`m8Ic#xNQG4E~S-h5h|q zc_<(MN0B8?1n3tGs@RbEhk1_Nnh`eF*gu%38e?}SXj}A?1`VwM^E7&$pWn{W55#L2 z8ypfxj~n zy(A?JkU_cqi#vv38&4#d#sw_eOcX-GX0$W&_v4Um>9OaKq1*2ojB@#W78fT2ab-($ znszMn2dLDE=Lu`b*!8dRa3I8ts(D5kFb4p7$UbRi+gBgxd^%S9wI_r`WXMyk_`1EX z&uL>O9{2W zv!ekjeJc`Tp781S9izD!0NX=6SO@g}-nOb74O zqsTh;We`Io%NUBvE^Ee8Jf3XXMtNk{LfHn{MhptcmOY`xmdG|CB1=)0?EAhXyL10W z^*+7l`FzfM{ygW;G4tE*x$p1X*Y&-w%R!|HeQNB5>l3=fRONolui5&_EBdV;A}4M% zigvts{$sEScb@S=K}kFY4ABwsvUPc-STWNxVspaBc@-+O`*p)4IE_eyV8r3? zJ>6Z%!CiSqUY->MGVI;TGu;_)c_w0nu(9c8$#JqYE}SRsWwMwxLJX&N7%V{4{7g$r z{_%HbNyPE-q#embS(iZx4UOPp2Vd_s(dns9)l@l&!jcSdhMBGw&`yvXeI=$0VjJey*04#B zM1aFJqDMsb*1?buJ>{^eM^&LYIronqEu+J|Gmqq%qvtWxU3Os^pPnW=dug9@*8SV_ z{>5R>>yj`sd?7NWAxZ)&3-QnJ>i1^7hid;QdwkmG4!POv`$QSSz#-K)q%~fPHhI0) zZP&v2;JD4|8VGntmGaz2&v}T4+V&R$Em?^Sjd09dZgn`=Kg$73jP zA@kOry+)hRtQ>+2L5ZLygX;pTr#?aR{_svVH$f8<;h!}7F_#6w zjNn8Z?NsWYuaU+qa**%4F?ZFZTy!l9kJ4-1qEPIpy8ry;OMizt;D=T{xW-g40`cc8 zW~bd2w3HJH1OY#K&IE6w?${&kANgf=Km$_Eba@oZlx6yb~E!+0tZFq0>#l<77WPBYW>cF-6Qp}08NDgxBtdGQV z$=q0S(5fD#^jKV9@_&InU*`atWJ4?pw^tLohV>L4N2y&$GeYCS(jR5%hxb_@a*rb9 z*Ynf@96nAfCuI4krA60^vBMcOQWAEDjPp%~Ffxy_KsPi8Ynb{l z3zICzXeYgBZ&taA>?uMQaYR%S83o`SVXO=8ydxoPbtetHqc zT*f{I9RR|qUg|=cr(NlY(CagHwLv^j-xlIPl$caPLKv~y-@<)jH#k;tBSXmDIk71O z>}9*HZ;^Ag3)PDw8By|7R8$C5HMO|A!q#j$s7if3pw~lrQNV5DD#!}ZAKz_%x+%`ZhxM!kk?tNr}Fk4lozhAPMVa}2kz*B2Bz`$CxypX z!0M46?4(nCK9vzb{PNP2**V3=cVqd6u05C#Y)<**hgm`mCDFM4 zyGh-^V>)j_M>od2P{+b_&0}Zt(l*cF!vf&S2R$0uFwhQjU4XIV_*7ChP!?N$1s#R# zWZdWSZ{O=9W@|XhPcpH9a(coXT)oDYYPt){l*# zhnUMj_F&#_R&gbc1gHyb4@6HNr|!}?TrXy?=YST(uRUia@YdV(o$Zo#d1x0#I$

DA9NAI^u(nD;pa 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:8090" as control } node "Home" { - component "nginx stream\n:27960" as nginx - component "ET server\n:27960" as et + component "ET server\n:27960\n(own WireGuard peer)" as et } player <--> relay : game traffic master <--> relay : heartbeat / getChallenge / getInfo -relay <--> nginx : WireGuard (wg0) -nginx <--> et : LAN +relay <--> et : WireGuard (wg0), direct:\none source port per client +admin --> control : WireGuard: sessions, bans\n(bearer token) @enduml diff --git a/diagrams/ban.png b/diagrams/ban.png new file mode 100644 index 0000000000000000000000000000000000000000..362adda255133c2701eabe3e093d599b5bf1a9cb GIT binary patch literal 40847 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 SjQ}1BAt@#&nkS;~^?w0D^e7kr literal 0 HcmV?d00001 diff --git a/diagrams/ban.puml b/diagrams/ban.puml new file mode 100644 index 0000000..39e7d0d --- /dev/null +++ b/diagrams/ban.puml @@ -0,0 +1,22 @@ +@startuml +skinparam shadowing false +title Control API: real address and ban of a player + +participant "Admin tool" as admin +participant "etrelay control API\n:8090" as control +participant "etrelay\nrelay loop" as relay +participant "ET server" as et +actor "Player\n203.0.113.7" as player + +note over admin, et : the ET server shows the player as :51234 +admin -> control : GET /sessions +control --> admin : [{client: 203.0.113.7:27960, port: 51234}] +note right of admin : port 51234 = 203.0.113.7 + +== Ban == +admin -> control : PUT /bans/203.0.113.7\n{reason, minutes} +control -> control : bans.json (atomic write)\ncut 203.0.113.7's sessions +player -> relay : game packets +relay -> relay : banned: dropped +note over et : no packet: times the player out +@enduml diff --git a/diagrams/player-session.png b/diagrams/player-session.png index f07aaf9f0af32135c3b1fd322613a5ce68a286bf..8bf5eeb52ffef04c4309e804a06076465937b18f 100644 GIT binary patch literal 44955 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 F{{?%%ZSMd8 diff --git a/diagrams/player-session.puml b/diagrams/player-session.puml index 742e4b0..79928e0 100644 --- a/diagrams/player-session.puml +++ b/diagrams/player-session.puml @@ -2,18 +2,20 @@ skinparam shadowing false title Player: one session per client address -actor "Player\n1.2.3.4:5555" as player +actor "Player\n203.0.113.7:27960" as player participant "etrelay\nfront :27960" as relay -participant "session task\n(ephemeral socket)" as session +participant "session task\n(socket :51234)" as session participant "ET server" as et player -> relay : getchallenge / connect / game packets +relay -> relay : filter (command, query rate)\nban check relay -> session : first packet: open session -session -> et : forward (source = ephemeral port) +session -> et : forward (source = :51234) +note right of et : sees the player as\n:51234 et --> session : reply session --> player : reply sent from front:27960 ...packets both ways, deadline pushed back on each packet... ...2 min without any packet... session -> session : close (socket dropped) -note over relay : next packet from 1.2.3.4:5555\nopens a new session +note over relay : next packet from 203.0.113.7:27960\nopens a new session (new port) @enduml diff --git a/diagrams/registration.png b/diagrams/registration.png index 3caf4e2e68972946e15815645d845df6bf3b085c..747762555d5688a84e5e468ec981326ec7ac9f04 100644 GIT binary patch literal 48400 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 literal 49418 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 QA8F4i$vt^gBx4--FCjC4W&i*H diff --git a/diagrams/registration.puml b/diagrams/registration.puml index 9582556..4f6ad0c 100644 --- a/diagrams/registration.puml +++ b/diagrams/registration.puml @@ -4,7 +4,7 @@ title Master registration (every 5 min) participant "Master\netmaster.net:27950" as master participant "etrelay\nfront :27960" as relay -participant "ET server\n(via wg + nginx)" as et +participant "ET server\n(via wg)" as et == Liveness probe (dedicated ephemeral socket) == relay -> et : getinfo etrelay @@ -16,7 +16,7 @@ relay -> master : heartbeat EnemyTerritory-1\nsource = front:27960 == Master checks: handled like any client == master -> relay : getChallenge\nto front:27960 -relay -> relay : new session for master:27950 +relay -> relay : filter: allowed, rate ok\nnew session for master:27950 relay -> et : getChallenge et --> relay : challengeResponse relay --> master : challengeResponse\nsource = front:27960 diff --git a/diagrams/tasks.png b/diagrams/tasks.png index 1fc16ec2fc1be53f0c3273ea3c87d6df02582108..a70374a692ce4e00d39e666d2ea68410bca314c9 100644 GIT binary patch literal 57085 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

WBo9TqxYi7z;77nyDX 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 NNFuJky?XE2{{vtpNrV6Z literal 35579 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 diff --git a/diagrams/tasks.puml b/diagrams/tasks.puml index a7cea9e..4dcef5a 100644 --- a/diagrams/tasks.puml +++ b/diagrams/tasks.puml @@ -4,7 +4,12 @@ title Tasks and data flow rectangle "relay loop (main task)" as loop { card "public socket\nrecv_from" as recv - card "sessions:\nHashMap" as map + card "filter\n(commands, query rate)" as filter +} + +rectangle "shared state (Mutex)" as shared { + card "sessions:\nHashMap" as map + card "bans\n(bans.json)" as bans } rectangle "session task (one per client)" as st { @@ -17,10 +22,18 @@ rectangle "heartbeat task" as hb { card "probe socket" as probe } -recv --> map : lookup client +rectangle "control API task (axum)" as ctl { + card "GET /sessions\nGET/PUT/DELETE /bans" as routes +} + +recv --> filter +filter --> bans : banned? +filter --> map : lookup client map --> rx : try_send(packet)\n(full: drop) rx --> up : send up --> recv : recv, then public.send_to(client) tick --> probe : getinfo tick --> recv : heartbeat via public socket +routes --> map : list ports,\ndrop a banned IP's sessions +routes --> bans : set / lift @enduml