A server-side proxy plugin that enables Yes Steve Model (YSM) custom player models and animations across BungeeCord/Velocity networks.
Maintained by: NguyenDevs · Original author: MrHua269 · License: Mozilla Public License 2.0
⚠️ Freesia is not an official Yes Steve Model project.
This project originated as Cyanidin, was later renamed Freesia by KikirMeow, and is now continued under the name Freesia II by NguyenDevs after an extended period of inactivity and accumulated bugs.
Freesia is a hybrid between MultiPaper and Geyser. It uses MultiPaper's cross-server data exchange mechanism to synchronize YSM packets across a network — handling entity ID differences between worker and sub-servers, and determining player visibility across nodes.
| Component | Role |
|---|---|
| Velocity/Waterfall | Proxy layer — forwards/processes YSM packets, routes players |
| Worker | Dedicated backend node — model sync, entity state, NBT generation, caching (Fabric 1.21, minimal mode) |
| Backend | Installed on sub-servers — handles player tracker checks, notifies proxy |
Worker nodes run in a stripped-down mode: no world saving, no standard game features, async YSM processing only. They are not added to the Velocity/Waterfall server list.
- Velocity/Waterfall proxy
- Fabric 1.21 server(s) for Worker nodes + Yes Steve Model mod + Freesia-Worker
- Sub-servers (Spigot/Paper/etc.) with Freesia-Backend installed
- Consistent IP/port configuration across all components
- Download
template serverfrom the latest release - After download completes, run
start.batin the created folder
- Install Freesia-Velocity/Waterfall on your Proxy
- Set up Worker nodes (Fabric 1.21 + YSM mod + Freesia-Worker)
- Install Freesia-Backend on all gameplay sub-servers
🛡️ Network Policy: While mTLS provides robust authentication, it is highly recommended to restrict ports
19199and19200to your internal network via firewall to minimize attack surface and optimize resource handling.
[functions]
debug = false
kick_if_ysm_not_installed = false
ysm_detection_timeout_for_kicking = 30000 # milliseconds
[messages]
language = "en_US" # Options: "en_US", "zh_CN", "vi_VN"
[worker]
worker_master_ip = "localhost"
worker_master_port = 19200
worker_msession_ip = "localhost"
worker_msession_port = 19199Freesia uses Mutual TLS (mTLS) 2-way authentication to secure traffic between the Proxy and Worker nodes.
Start both the Proxy and Worker once. They will automatically generate persistent identity files in their respective security/ directories.
Exchange the public certificates to establish a mutual trust chain:
- Copy
proxy_cert.pemfrom Proxy to Worker'ssecurity/folder. - Copy
worker_cert.pemfrom Worker to Proxy'ssecurity/folder.
Ensure the following configurations are set:
Proxy — freesia_security.toml
[security]
enable_tls = true
use_self_signed = true
cert_path = "security/proxy_cert.pem"
key_path = "security/proxy_key.pem"
trust_worker_cert_path = "security/worker_cert.pem"
[firewall]
enable_ip_filter = true
allowed_worker_ips = ["127.0.0.1"]Worker — config/freesia_config.toml
[security]
enable_tls = true
trust_all = false
trust_proxy_cert_path = "security/proxy_cert.pem"
worker_cert_path = "security/worker_cert.pem"
worker_key_path = "security/worker_key.pem"- Mutual TLS (mTLS): Full 2-way authenticated and encrypted communication.
- Persistent PKI: Automatic generation and storage of self-signed RSA-2048 certificates.
- Zero-Latency Sockets: Bypassed Nagle's Algorithm for immediate packet dispatch.
- Multi-Backend Support: Compatible with both Velocity and Waterfall (BungeeCord) proxies.
- Optimized Worker: Dedicated Fabric node for async YSM processing and caching.
- Security Firewall: Built-in IP whitelisting for additional network-level protection.
Freesia has not been formally benchmarked. According to MrHua269, it should handle around 130 concurrent players without issue. Note that YSM's own cache synchronization can occasionally cause memory leaks and model sync issues.
Linux / macOS
chmod +777 ./gradlew
./gradlew buildWindows
gradlew.bat buildBuild artifacts are output to the build/libs/ directory of each module.
- 📖 YSM Plugin Documentation
- 🎬 Full Setup Tutorial (YouTube) — Velocity + Spigot/Paper
- 📦 Release