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 ec252a9ffe
E4mc Quilt: 1.0.0
2 years ago
client completely refactor codebase 2 years ago
common completely refactor codebase 2 years ago
node feat(node): node.js client 2 years ago
quilt E4mc Quilt: 1.0.0 2 years ago
server completely refactor codebase 2 years ago
.envrc first commit 2 years ago
.gitignore first commit 2 years ago
Cargo.lock completely refactor codebase 2 years ago
Cargo.toml completely refactor codebase 2 years ago
LICENSE-APACHE licenses and stuff 2 years ago
LICENSE-MIT licenses and stuff 2 years ago
README.md docs: add readme 2 years ago
flake.lock first commit 2 years ago
flake.nix first commit 2 years 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.