Eisenbahn is a cutting-edge, fully UDP-based client-server game networking system designed to accelerate mobile game development. This innovative framework was developed in Rust, ensuring maximum reliability and performance.
Encryption Options
Eisenbahn offers a range of encryption options to safeguard your gamers' sensitive data. Choose from:
- None: For developers who prioritize speed over security
- AES128-GCM and AES256-GCM: Industry-standard encryption methods for robust protection
- ChaCha8Poly1305 and ChaCha20Poly1305: Advanced, high-speed encryption protocols for added peace of mind
Flexible Client Authentication
Eisenbahn's flexible client authentication system allows you to implement various security measures to suit your mobile game development needs. Options include:
- Username only: Simple, straightforward authentication
- Username and password: Stronger authentication with added security
- ed25519 public/private key (ed25519 signature): Advanced, tamper-proof authentication
- Central Authority (for most commercial use): A trusted authority for secure transactions
Connection Management
Eisenbahn's connection management system ensures seamless communication between clients and servers. Features include:
- Rejection based on client version: Prevents outdated or malicious connections
- User-defined connection rejection: Customizable ban options to maintain a healthy gaming community
- API Interface: Poll-based and blocking interfaces for efficient data transmission
System Performance
Eisenbahn's system performance is optimized for maximum efficiency. Key features include:
- Runs on a dedicated thread: Prioritizes network processing for low latency and high throughput
- Latency (Ping) discovery: Real-time monitoring of network conditions
- Timeout detection: Smart timeout management to prevent connection loss
- Messaging System: 4 virtual reliable ordered message channels for efficient communication
Efficiency and Safety
Eisenbahn prioritizes efficiency and safety, ensuring a secure mobile gaming experience. Key features include:
- 100% safe Rust (excluding dependencies): A robust foundation for your game development project
- Thread efficiency in idle state (the network thread does not poll at fixed intervals) NOT YET IMPLEMENTED: Future optimization for improved performance
Although contributions to Eisenbahn are no longer accepted, the project has had a lasting impact on mobile game development. If you're interested in contributing to similar projects, consider exploring alternative frameworks like Hexgate.
License: Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in this work by you shall be under the terms and conditions of the BSD-3-Clause License, without any additional terms or conditions.