[package] name = "kawari" description = "A server replacement for a certain MMO." authors = ["Joshua Goins "] version = "0.1.0" edition = "2024" license = "GPL-3.0" homepage = "https://xiv.zone/kawari" repository = "https://github.com/redstrate/Kawari" readme = "README.md" [[bin]] name = "kawari-frontier" [[bin]] name = "kawari-admin" [[bin]] name = "kawari-login" [[bin]] name = "kawari-patch" [[bin]] name = "kawari-web" [[bin]] name = "kawari-lobby" [[bin]] name = "kawari-world" required-features = ["oodle"] [profile.release] lto = true strip = true opt-level = "z" codegen-units = 1 panic = "abort" [features] default = [] oodle = [] [build-dependencies] # Serialization of IPC opcodes serde = { version = "1.0", features = ["derive"], default-features = false } serde_json = { version = "1.0", features = ["std"], default-features = false } [dependencies] # Used for the web servers axum = { version = "0.8", features = ["json", "tokio", "http1", "form", "query"], default-features = false } axum-extra = { version = "0.10", features = ["cookie"], default-features = false } # Serialization used in almost every server serde = { version = "1.0", features = ["derive"], default-features = false } serde_json = { version = "1.0", default-features = false } serde_yaml_ng = { version = "0.10", default-features = false } # Async runtime tokio = { version = "1.44", features = ["macros", "rt", "rt-multi-thread", "io-util"], default-features = false } # Logging tracing = { version = "0.1", default-features = false } tracing-subscriber = { version = "0.3", features = ["fmt"], default-features = false } # Used currently for SID generation rand = { version = "0.9", features = ["std", "thread_rng"], default-features = false } # HTML templates used in the web servers minijinja = { version = "2.9", features = ["serde"], default-features = false } # Serialization of packets binrw = { version = "0.14", features = ["std"], default-features = false } # Used in encryption of packets md5 = { version = "0.7", default-features = false } # Used to access game data physis = { git = "https://github.com/redstrate/physis", default-features = false } # Used for data persistence rusqlite = { version = "0.34", features = ["bundled"], default-features = false } # needed for c-style bitflags # cannot upgrade to 2.0.0, breaking changes that aren't recoverable: https://github.com/bitflags/bitflags/issues/314 bitflags = { version = "1.3", default-features = false } # For server-side scripting mlua = { version = "0.10", features = ["lua51", "vendored", "send", "async", "serialize"], default-features = false } # For character backup decompression zip = { version = "2.6", features = ["deflate", "lzma", "bzip2"], default-features = false } # For some login<->lobby server communication reqwest = { version = "0.12", default-features = false } # For RCON rkon = { version = "0.1" }