Add TODO file, minor fixes

This commit is contained in:
timvisee
2021-11-12 13:12:17 +01:00
parent 157905f140
commit e6021502d9
3 changed files with 23 additions and 2 deletions

View File

@@ -135,7 +135,7 @@ cargo build --release
A list of third-party implementations, projects using `lazymc`, that you might
find useful:
- Docker: [crbanman/papermc-lazymc](https://hub.docker.com/r/crbanman/papermc-lazymc) _PaperMC with lazymc in Docker_
- Docker: [crbanman/papermc-lazymc](https://hub.docker.com/r/crbanman/papermc-lazymc) _(PaperMC with lazymc in Docker)_
## License

21
TODO.md Normal file
View File

@@ -0,0 +1,21 @@
# TODO
- Better organize code
- Resolve TODOs in code
- Don't drop errors, handle everywhere where needed (some were dropped while
prototyping to speed up development)
## Nice to have
- Console error if server already started on port, not through `lazymc`
- Kick with message if proxy-to-server connection fails for new client.
- Test configuration on start (server dir exists, command not empty)
- Also quit `lazymc` after CTRL+C signal, after server has stopped
- Dynamically increase/decrease server polling interval based on server state
- Server polling through query (`enable-query` in `server.properties`, uses GameSpy4 protocol)
## Experiment
- Lobby method: let players connect with an emulated empty server (like 2b2t's
queue), redirect them when the server started.
- `io_uring` on Linux for efficient proxying (see `tokio-uring`)

View File

@@ -177,7 +177,7 @@ pub async fn hold<'a>(
// If hold timeout is reached, kick client
if since.elapsed().as_secs() >= timeout {
warn!(target: "lazymc", "Holding client reached timeout of {}s, disconnecting", timeout);
warn!(target: "lazymc", "Held client reached timeout of {}s, disconnecting", timeout);
kick(&config.messages.login_starting, &mut inbound.split().1).await?;
return Ok(());
}