Commit Graph

145 Commits

Author SHA1 Message Date
timvisee
785bd2f33e Make banned IP format less strict to support possible future changes 2021-11-17 18:46:45 +01:00
timvisee
b168dcefde Respect IP ban expiry times 2021-11-17 18:42:26 +01:00
timvisee
74d772ab42 Respond with real server MOTD if it is currently started 2021-11-17 18:28:55 +01:00
timvisee
a71b3cb24f Add option to drop all connections from banned IPs
This instantly disconnects clients from banned IPs. Clients won't be
able to request or ping the server status. Clients won't get a kick
message with their ban reason either. Clients simply get a
'Disconnected' message on login.
2021-11-17 18:23:17 +01:00
timvisee
28dbcdbfd6 Show MOTD for banned players, kick with reason on login 2021-11-17 18:14:02 +01:00
timvisee
e816d4ff6c Use more efficient structure to manage banned IPs 2021-11-17 17:46:51 +01:00
timvisee
168cbceb4c Disconnect banned IPs based on server banned-ips.json file 2021-11-17 17:36:28 +01:00
timvisee
b1bd9e1837 Add support for host names in config address fields, resolve them to IP 2021-11-17 16:14:05 +01:00
timvisee
ec24f088b2 Fix lobby error due to invalid packet IDs 2021-11-16 18:09:45 +01:00
timvisee
6321999489 Update dependencies 2021-11-16 17:58:09 +01:00
timvisee
47fe7d0387 Extract all packet writing logic to single function 2021-11-16 17:57:34 +01:00
timvisee
7df3829e00 Use u8 for packet IDs 2021-11-16 17:13:30 +01:00
timvisee
b06f26b3e8 Refactor, cleanup status logic, extract join occupy logic into modules 2021-11-16 17:05:44 +01:00
timvisee
4510586169 Bump version to 0.2.0 v0.2.0 2021-11-15 21:24:13 +01:00
timvisee
73d0c86780 Describe lobby feature in README, add documentation page with warning 2021-11-15 20:53:24 +01:00
timvisee
aca09dff7b Cleanup 2021-11-15 20:36:15 +01:00
timvisee
de516cf62c Resolve clippy warnings 2021-11-15 20:33:48 +01:00
timvisee
1da8c60323 Add lobby compiler feature flag 2021-11-15 20:30:22 +01:00
timvisee
d213612225 Remove lobby debug code 2021-11-15 20:22:34 +01:00
timvisee
ffc4f00430 Increase buffer size for reading Minecraft packets 2021-11-15 20:19:50 +01:00
timvisee
90e64297c0 Add support for packet compression 2021-11-15 20:18:52 +01:00
timvisee
ae6e877f17 Add lobby method to configuration 2021-11-15 18:17:02 +01:00
timvisee
4907780f7c Patch lobby logic for rebase on latest master 2021-11-15 18:04:34 +01:00
timvisee
40be4bae89 Reset player position when we play lobby ready sound effect 2021-11-15 18:04:34 +01:00
timvisee
d390f866cd Implement timeouts for various lobby client relaying stages 2021-11-15 18:04:34 +01:00
timvisee
374a9fab75 Improve waiting for server for lobby client
Broadcast to server state changes instead of polling the server state
constantly.
2021-11-15 18:04:33 +01:00
timvisee
f7d89a28aa Play sound effect in lobby when server is ready 2021-11-15 18:04:33 +01:00
timvisee
8b88cb16c5 Improve lobby handling, resolve various TODOs 2021-11-15 18:04:32 +01:00
timvisee
2cc64b29e0 Drop obsolete lobby packet, add lobby server warmup, some fixes 2021-11-15 18:04:32 +01:00
timvisee
802fd2990a Resolved all compiler warnings, clean-up proto, remove obsolete code 2021-11-15 18:04:32 +01:00
timvisee
3e7f5719cd Forward excess server packets in lobby to client before proxying 2021-11-15 18:04:31 +01:00
timvisee
32317a4c2f Remove obsolete file 2021-11-15 18:04:31 +01:00
timvisee
c9290827be Send client protocol & username to server from lobby, send server brand 2021-11-15 18:04:31 +01:00
timvisee
518fca90eb Improve lobby handling, implement teleport and proxy to real server 2021-11-15 18:04:30 +01:00
timvisee
e01fd212f7 Start experimenting with lobby, implement loading into lobby with text 2021-11-15 18:04:29 +01:00
timvisee
db99289ea7 Add join forward method to proxy to other address while server starts 2021-11-15 18:03:03 +01:00
timvisee
32cd9ffc73 Improve join occupy method descriptions in config 2021-11-15 17:27:38 +01:00
timvisee
d125140bee Update README for new join method feature 2021-11-15 16:54:45 +01:00
timvisee
e11eca1d5a Implement join method configuration and handling 2021-11-15 16:52:18 +01:00
timvisee
17ec663e15 Show warning if config version is outdated or invalid 2021-11-15 16:32:13 +01:00
timvisee
6b38dce5ab Restructure configuration file 2021-11-15 16:21:51 +01:00
timvisee
234a30aecb Add lockout mode, enable to prevent all players from connecting 2021-11-15 15:46:13 +01:00
timvisee
7a99781a05 Check and test no-rcon builds on GitLab CI 2021-11-15 15:25:54 +01:00
timvisee
5a5fa785b7 Bump version to 0.1.3 v0.1.3 2021-11-15 15:18:53 +01:00
timvisee
78e9abec59 Fix binary release on GitLab CI 2021-11-15 15:18:19 +01:00
timvisee
dde9fdeab4 Bump version to 0.1.2 v0.1.2 2021-11-15 14:53:05 +01:00
timvisee
901fb62f25 Use future tokio supported sync types throughout server handling logic 2021-11-15 14:41:01 +01:00
timvisee
dabeabeff4 Increase server monitoring timeouts to 20 seconds
Should improve polling reliability for overloaded servers.
2021-11-15 13:59:51 +01:00
timvisee
96d7fc9dec Grab exclusive lock for RCON invocations to server 2021-11-15 13:57:41 +01:00
timvisee
5ffc6ee911 Add RCON cooldown, do not require active PID to stop server
This hopefully improves server stopping reliability.
2021-11-15 13:42:58 +01:00