GameLAN VPN เป็น Windows Desktop Application ที่ทำหน้าที่เป็น Virtual Private Network สำหรับเล่นเกมส์ LAN ระหว่างผู้เล่นที่อยู่ต่างสถานที่กัน รองรับเกมส์ เช่น Warcraft III, Red Alert 2: Yuri's Revenge และเกมส์ LAN อื่นๆ
- Client Application - WPF Desktop App สำหรับผู้เล่น
- Server Hub - SignalR Server สำหรับจัดการ rooms และ relay packets
- Virtual Network Adapter - จำลอง LAN network ผ่าน Internet
- Windows 10/11
- .NET 8.0 SDK
- Visual Studio 2022
- Git
- Clone repository:
git clone https://github.com/yourusername/GameLANVPN.git
cd GameLANVPN
- Build solution:
dotnet build
- Run server:
cd src/Server/GameLANVPN.Server
dotnet run
- Run client:
cd src/Client/GameLANVPN.UI
dotnet run
- Project structure setup
- Basic networking interfaces
- SignalR Hub implementation
- UI framework
- Virtual adapter integration
- Packet capture and injection
- NAT traversal (UDP hole punching)
- Encryption layer
- Room creation/joining
- Player management
- Host migration
- Room persistence
- Warcraft III protocol support
- Red Alert 2 protocol support
- Game detection system
- Auto-configuration
- Latency optimization
- Bandwidth management
- Chat system
- Statistics dashboard
- Transport: UDP for game packets, TCP for control
- Encryption: AES-256 for packet encryption
- Virtual IP Range: 10.x.x.x subnet per room
- Game sends LAN broadcast/unicast packet
- Virtual adapter captures packet
- Client encrypts and tunnels to server
- Server relays to target players
- Target client decrypts and injects to local network
{
"ServerUrl": "https://your-server.com",
"DefaultPort": 5000,
"EncryptionEnabled": true,
"AutoConnect": false
}
Game | Protocol | Port | Status |
---|---|---|---|
Warcraft III | UDP | 6112-6119 | Planned |
Red Alert 2 | IPX/UDP | 1234 | Planned |
Counter-Strike 1.6 | UDP | 27015 | Planned |
- SharpPcap - Packet capture
- PacketDotNet - Packet parsing
- SignalR - Real-time communication
- MaterialDesignThemes - UI components
- CommunityToolkit.Mvvm - MVVM framework
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add some AmazingFeature'
) - Push to branch (
git push origin feature/AmazingFeature
) - Open Pull Request
- Application requires administrator privileges
- May need to install TAP-Windows adapter
- Windows Firewall exceptions may be needed
- All traffic is encrypted by default
- Room codes are randomly generated
- No data logging on server
This project is licensed under the MIT License
For issues and questions, please create an issue on GitHub