1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-04-19 22:36:49 +00:00
kawari/Cargo.toml
Joshua Goins d0bb7f4ba9 Start defining IPC opcodes in JSON
This is to make it easier to interpolate with other tools and projects,
and to reduce the mental barrier (of me and other contributors) of
changing these. This only ports the Lobby connection to use JSON so far,
the World connection is next.
2025-03-26 19:23:14 -04:00

86 lines
2.3 KiB
TOML

[package]
name = "kawari"
description = "A server replacement for a certain MMO."
authors = ["Joshua Goins <josh@redstrate.com>"]
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 }
# 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.8", 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" }
# 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 }