54 lines
1.9 KiB
TOML
54 lines
1.9 KiB
TOML
[package]
|
|
name = "tmd"
|
|
version = "0.1.0"
|
|
authors = ["James Martin <james@jtmar.me>"]
|
|
edition = "2018"
|
|
repository = "https://github.com/jamestmartin/tmd"
|
|
license = "GPL-3.0+"
|
|
publish = false
|
|
|
|
[features]
|
|
default = ["authentication", "compression", "encryption"]
|
|
|
|
# Enables authentication via Mojang's servers, i.e. online mode.
|
|
authentication = ["encryption", "num-bigint", "sha-1", "reqwest"]
|
|
|
|
# Enables protocol compression.
|
|
compression = ["flate2"]
|
|
|
|
# Enables protocol encryption *without enabling authentication*.
|
|
#
|
|
# The protocol itself doesn't depend on authentication to use encryption.
|
|
# If the client and server both simply *don't* check in with Mojang,
|
|
# then the protocol will proceed as normal, but encrypted.
|
|
# However, be warned that there is no way to disable authentication
|
|
# for Notchian clients (they will disconnect you from the server),
|
|
# so a modified client would be necessary
|
|
# to use offline encryption, and none exist that I know of.
|
|
encryption = ["aes", "cfb8", "rand", "rsa"]
|
|
|
|
[dependencies]
|
|
async-trait = "0.1.42"
|
|
clap = { version = "2.33.3", features = ["yaml"] }
|
|
serde = { version = "1.0.118", features = ["derive"] }
|
|
serde_json = "1.0.61"
|
|
take_mut = "0.2.2"
|
|
tokio = { version = "1.0.1", features = ["io-util", "macros", "net", "rt", "rt-multi-thread"] }
|
|
uuid = { version = "0.8.1", features = ["serde"] }
|
|
|
|
# Dependencies required for authentication
|
|
# Used to format Minecraft's "server id" hash.
|
|
num-bigint = { version = "0.3.1", optional = true }
|
|
sha-1 = { version = "0.9.2", optional = true }
|
|
# Used to make the request to the Mojang servers.
|
|
reqwest = { version = "0.11.0", optional = true }
|
|
|
|
# Dependencies required for compression
|
|
flate2 = { version = "1.0.19", optional = true }
|
|
|
|
# Dependencies required for encryption
|
|
aes = { version = "0.6.0", optional = true }
|
|
cfb8 = { version = "0.6.0", optional = true }
|
|
rand = { version = "0.8.1", optional = true }
|
|
rsa = { version = "0.3.0", optional = true }
|