Prerequisites
- Python 3.9 or higher
- A running YSFlight server
- YSFlight client for testing
Configure the proxy
Edit
config.py to point to your YSFlight server:config.py
Set
VIA_VERSION = True to allow clients from different YSFlight versions (post-20150425) to connect.Start the proxy server
Run the proxy:You should see:
On Linux systems, Sakuya AC will automatically use
uvloop if available for better I/O performance. Install it with pip install uvloop.Connect with YSFlight client
Point your YSFlight client to the proxy instead of the server:
- Proxy address:
127.0.0.1:9000(or your proxy host andPROXY_PORT) - NOT: Your original server address
What’s happening?
Sakuya AC acts as a transparent proxy:- Accepts client connections on
PROXY_PORT - Connects to your YSFlight server at
SERVER_HOST:SERVER_PORT - Intercepts and parses all packets
- Enforces G-limits, detects cheats, and applies features
- Forwards modified packets to client and server
Next steps
Customize configuration
Configure G-limits, welcome messages, smoke effects, and more
Enable Discord sync
Sync in-game chat with Discord channels
Install plugins
Extend Sakuya AC with community plugins
Build a plugin
Create custom server-side features
Common issues
Clients can’t connect to proxy
- Check that
PROXY_PORTis not blocked by firewall - Verify proxy is listening on
0.0.0.0(all interfaces) inproxy.py:370 - Ensure no other service is using the proxy port
Proxy can’t connect to YSFlight server
- Verify
SERVER_HOSTandSERVER_PORTinconfig.py - Check that YSFlight server is running
- Test direct connection to server first
Version mismatch errors
- Set
YSF_VERSIONinconfig.pyto match your server version exactly - Enable
VIA_VERSION = Trueto support multiple client versions - Check logs for version information:
proxy.py:172
For debugging, set
LOGGING_LEVEL = DEBUG in config.py and check the console output.