Files
etrelay/diagrams/ban.puml
T

24 lines
865 B
Plaintext

@startuml
skinparam shadowing false
title Control API: real address and ban of a player
participant "Admin tool" as admin
participant "etrelay control API\n<front-wg>: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 <front-wg>:51234
note over admin, control : every call carries the key the server registered with
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-<port>.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