1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-24 21:47:45 +00:00
kawari/Cargo.toml
Joshua Goins 60fcac80c2 Implement more of the Content Finder
Now it can put you in the zone properly (just Satasha, really.)
The "checking member status" window doesn't go away yet.
2025-07-18 16:53:40 -04:00

143 lines
4.1 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"]
[[bin]]
name = "kawari-launcher"
[[bin]]
name = "kawari-navimesh"
required-features = ["visualizer"]
[profile.release]
lto = true
strip = true
opt-level = "z"
codegen-units = 1
panic = "abort"
[features]
# Default featureset
default = []
# Oodle compression
oodle = []
# Navmesh visualizer
visualizer = ["dep:bevy"]
[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]
# Serialization used in almost every server
serde = { version = "1.0", features = ["derive"], default-features = false }
serde_json = { version = "1.0", features = ["std"], default-features = false }
serde_yaml_ng = { version = "0.10", default-features = false }
serde-xml-rs = { version = "0.8", default-features = false }
# Logging
tracing = { version = "0.1", default-features = false }
# Serialization of packets
binrw = { version = "0.15", features = ["std"], default-features = false }
# Used in encryption of packets
md5 = { version = "0.8", default-features = false }
# Used to access game data
physis = { git = "https://github.com/redstrate/physis", default-features = false }
# needed for c-style bitflags
bitflags = { version = "2.9", default-features = false }
# excel sheet data
icarus = { git = "https://github.com/redstrate/Icarus", branch = "ver/2025.06.28.0000.0000", features = ["Warp", "Tribe", "ClassJob", "World", "TerritoryType", "Race", "Aetheryte", "EquipSlotCategory", "Action", "WeatherRate", "PlaceName", "GilShopItem", "InstanceContent", "ContentFinderCondition"], default-features = false }
# navimesh visualization
bevy = { version = "0.16", features = ["std",
"bevy_asset",
"bevy_color",
"bevy_pbr",
"bevy_render",
"bevy_scene",
"bevy_state",
"bevy_window",
"bevy_winit",
"tonemapping_luts",
"bevy_picking",
"bevy_mesh_picking_backend",
"bevy_gizmos",
"x11"], default-features = false, optional = true }
[target.'cfg(not(target_family = "wasm"))'.dependencies]
# Used for the web servers
axum = { version = "0.8", features = ["json", "tokio", "http1", "form", "query", "multipart"], default-features = false }
axum-extra = { version = "0.10", features = ["cookie"], default-features = false }
# Async runtime
tokio = { version = "1.46", features = ["macros", "rt", "rt-multi-thread", "io-util"], default-features = false }
# Logging
tracing-subscriber = { version = "0.3", features = ["fmt"], default-features = false }
# Used currently for SID generation
fastrand = { version = "2.3", features = ["std"], default-features = false }
# HTML templates used in the web servers
minijinja = { version = "2.11", features = ["serde", "loader", "multi_template"], default-features = false }
# Used for data persistence
rusqlite = { version = "0.37", features = ["bundled"], default-features = false }
# For server-side scripting
mlua = { version = "0.10", features = ["lua54", "vendored", "send", "async", "serialize"], default-features = false }
# For character backup decompression
zip = { version = "4.3", 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" }
# For serving static files on the website
tower-http = { version = "0.6", features = ["fs", "cors"] }
# For obtaining SHA1 hashes of game components
sha1_smol = { version = "1.0" }
# for navimesh generation
recastnavigation-sys = { git = "https://github.com/redstrate/recastnavigation-rs-sys", features = ["recast", "detour"] }