docs: add readme

This commit is contained in:
Skye 2023-04-03 21:42:38 +09:00
parent a49079e270
commit ad5f1fc54e
Signed by: me
GPG key ID: 0104BC05F41B77B8

40
README.md Normal file
View file

@ -0,0 +1,40 @@
# e4mc
Easy Ephemeral External Exposure for Minecraft
The client and server code for e4mc, a ngrok-like tunneling solution for Minecraft: Java Edition. It uses WebSockets as the primary connection method and has a simple, easy-to-implement (for clients) wire protocol.
## Install
### Client
```sh
cargo install --git https://git.skye.vg/me/e4mc e4mc-client
```
### Server
```sh
cargo install --git https://git.skye.vg/me/e4mc e4mc-server
```
## Usage
### Client
If tunneling a server opened at 25565(default for dedicated servers), just run `e4mc-client` with no arguments.
If you wish to tunnel a different port, just supply the `-p` argument.
For more options, please consult `--help`'s output.
### Server
The server doesn't have TLS termination; You should put it behind a reverse proxy that supports it.
The server is exclusively configured by environment variables; they are `WS_BIND_ADDR`, `MC_BIND_ADDR`, and `BASE_DOMAIN`.
## Contributing
It'd be really cool if you contributed 🥺
## License
MIT or Apache-2.0 depending on your choice.