Easy Ephemeral External Exposure for Minecraft
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Skye 56467cd945
fix: fuck Forge
1 year ago
client New Ingress server! 1 year ago
common completely refactor codebase 1 year ago
node New Ingress server! 1 year ago
quilt New Ingress server! 1 year ago
server fix: fuck Forge 1 year ago
.envrc first commit 1 year ago
.gitignore first commit 1 year ago
Cargo.lock completely refactor codebase 1 year ago
Cargo.toml completely refactor codebase 1 year ago
LICENSE-APACHE licenses and stuff 1 year ago
LICENSE-MIT licenses and stuff 1 year ago
README.md docs: add readme 1 year ago
flake.lock first commit 1 year ago
flake.nix first commit 1 year ago

README.md

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

cargo install --git https://git.skye.vg/me/e4mc e4mc-client

Server

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.