Go to file
Zephyron 5117ff3702 feat: implement multiplayer networking improvements for reduced latency
Major networking enhancements to improve multiplayer performance and
reduce desync issues in games like Mario Kart 8 Deluxe:

Network Performance:
- Add socket connection pooling in BSD service to reduce overhead
- Implement unreliable packet delivery for latency-sensitive game data
- Add packet reliability control for both ProxyPacket and LDNPacket
- Use ENET_PACKET_FLAG_UNSEQUENCED for small UDP packets (<1200 bytes)

Monitoring & Debugging:
- Add PacketStatistics struct to track sent/received/dropped packets
- Enhanced logging for proxy packet handling and socket lifecycle
- Periodic stats logging every 100 packets for diagnostics

Configuration:
- Update lobby_api_url and web_api_url to https://api.ynet-fun.xyz
- Add lobby API URL configuration support

Socket Management:
- Implement SocketPoolKey for efficient socket reuse
- Store domain/type/protocol info in FileDescriptor
- Max pool size limit (8 sockets per type) to prevent memory bloat
- Return closed sockets to pool when room is still connected

Protocol Updates:
- Add 'reliable' field to ProxyPacket and LDNPacket structures
- Update room.cpp packet handlers to respect reliability flags
- Maintain backward compatibility with default reliable=true

These changes significantly reduce packet latency for real-time game
traffic while maintaining reliability for control packets.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-11-05 18:52:06 +10:00
2025-11-02 05:17:44 +00:00
2024-01-08 09:34:32 -05:00
2025-10-07 10:10:06 +00:00
2024-02-25 17:17:01 +00:00
2023-11-04 18:26:49 +00:00
2025-10-30 00:12:17 +00:00
2025-10-03 15:05:41 +10:00
2025-11-03 20:48:23 +00:00
2025-11-02 05:59:22 +00:00
2025-11-03 21:16:57 +00:00

Citron - Nintendo Homebrew Emulator 🍋

Discord    Android Build    Windows Build    Linux Build

Welcome to Citron, a cutting-edge Nintendo Homebrew emulator designed to deliver an optimized experience for playing your favorite games and exploring new ones. Citron is a high-performance and easy-to-use emulator, tailored for enthusiasts and developers alike.

Disclaimer: Citron is intended strictly for legal homebrew use and is not affiliated with or endorsed by Nintendo. Use of Citron for pirated or unauthorized copies of games is strictly prohibited. Please respect game developers and support them by purchasing legitimate copies of their games.

Features 🛠️

  • High Performance: Optimized for speed and smooth gameplay.
  • User-Friendly: Clean and intuitive interface.
  • Cross-Platform: Available on multiple platforms.
  • Homebrew Support: Fully supports legal homebrew games and applications.
  • Ongoing Development: Stay tuned for frequent updates as Citron evolves!

Download 🚀

Ready to experience Citron? Download the latest version and dive into your favorite Nintendo homebrew titles!

Getting Started 💡

  1. Check the System Requirements: Head over to this link to check the requirements to run this emulator system requirements page
  2. Download and Install: Head over to the downloads page to grab the latest release.
  3. Add Homebrew Games: Citron is built to play homebrew games. Add them to your game directory and enjoy!
  4. Configure Your Settings: Customize your emulator settings to suit your performance needs.

Source Code 🔧

Citron is an open-source project. You can find the source code on our official Git repository:

We welcome contributions! Check out the repository and feel free to submit issues or pull requests to help improve Citron.

Citron is a homebrew emulator designed to support legally created and distributed homebrew software. It does not support piracy, nor is it intended for illegal purposes. Using Citron to play pirated copies of games is a violation of copyright law. Citron is not affiliated with or endorsed by Nintendo, and all Nintendo trademarks and copyrights are the property of their respective owners.

We highly encourage users to respect intellectual property rights and to only use Citron with legal, homebrew content.

License 📄

Citron is licensed under the GPL License. See the full license in the LICENSE file for more details.

Contributing

We are always looking for developers, testers, and enthusiasts to contribute to Citron. Whether you want to submit a pull request, report an issue, or suggest new features, all contributions are welcome. Please follow our contributing guidelines to get started.

Contact Us 📬

For any inquiries or to follow Citron's development journey, reach out to us:

Made with 💚 by Zephyron | Source Code

Description
No description provided
Readme GPL-3.0 126 MiB
Languages
C++ 65.7%
cpp 29.9%
Kotlin 2.7%
CMake 0.8%
GLSL 0.4%
Other 0.4%