- Java 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| gradle/wrapper | ||
| src | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
Usage
Prepend quic:// to the Minecraft server address. (tcp:// can also be used, but it has no effect as TCP is the default.)
Server configuration
By default, the server will allow QUIC connections on the default Minecraft port and will bind to the same interface as the regular server. You may override these defaults by specifying quic-ip and quic-port in the server.properties file.
The server expects to find a key.pem and cert.pem file inside the config/quic directory.
By default, the client will validate the server's certificate and check that it is signed by a trusted CA. To use an untrusted certificate, or to otherwise pin the certificate to a specific fingerprint, simply append ?fingerprint=ALGO:, replacing ALGO with your algorithm of choice (SHA-256 is recommended), to the address, followed by the certificate's fingerprint. Any message digest algorithm supported by your Java distribution will work. To obtain the certificate's fingerprint, run the following command:
openssl x509 -fingerprint -sha256 -in cert.pem
To generate a self-signed certificate, run something like this:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes -subj "/CN=localhost"
The supported certificate algorithms are RSA, DSA, and EC.
You may want to replace the localhost CN with your IP address.
Credits
This fork builds on the work of tesinormed (Tess) and in turn ramidzkh (Ramid Khan).
Platform support
- Linux:
x86-64arm64
- macOS:
x86-64arm64
- Windows:
x86-64