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.