Repository navigation
ColdCase Server v1.0.0 Release Notes 🎉
Under the oaks is excited to introduce v1.0.0 the major release of our ColdCase multiplayer backend designed specifically for our two-player cooperative experience! This milestone marks the launch of a robust server that seamlessly relays real-time game interactions between exactly two clients, ensuring smooth, synchronized gameplay. Thank you for being part of this journey!
Quick Start
Full guide can be found in the ColdCase Docs
Download the .zip file attached to this release and extract it to an appropriate location. To start the server locally, use the following command:
cd [ColdCase Server Directory]
cd server
deno run --allow-net --allow-read main.tsOnce the server has started, the output should indicate that it is listening on port 8080.
What’s New in v1.0.0?
🎮 Core Network Architecture
- Real-Time Communication: Utilizes WebSockets for persistent, bidirectional messaging, allowing for instant game state updates and interactions.
- Seamless Message Relay: Relays all game actions between two clients, ensuring that interactions remain synchronized and consistent throughout your cooperative adventure.
🛠️ Lobby & Session Management
-
Dynamic Lobby Creation: Easily initiate new game sessions with a URL query (session=new), automatically generating a unique lobby ID.
-
Robust Error Handling: Comprehensive error and connection management for invalid sessions, full lobbies, and unexpected disconnections to maintain server integrity.
🔄 Message Forwarding & Synchronization
-
Efficient Message Routing: Incoming messages from any client are forwarded to the other client in the lobby, allowing synchronized gameplay and real-time feedback.
-
Synchronized Interactions: Relays messages without processing game logic, allowing clients to handle local game state updates asynchronously through mechanisms like CompletableFuture.
🧪 Quality Enhancements
-
Automated Testing: A comprehensive test suite validates lobby creation, message forwarding, full lobby scenarios, and error handling.
-
Clean Code & Documentation: Detailed inline comments and thorough documentation make the codebase easy to maintain and extend for future improvements.
Known Limitations
- Edge Case Handling: While most connection errors and edge cases have been addressed, we remain open to feedback as we continue to refine our error handling mechanisms.
Feedback Encouraged!
Your insights are invaluable to us. Please report any issues or suggestions to help improve the ColdCase experience. Together, we’re building a robust foundation for an engaging, cooperative multiplayer adventure.
What's Changed
- 18 new socket system by @jean874 in #21
- [149] added new Lobby System by @jean874 in #22
- [#23] added doc and fix for onDisconnect by @jean874 in #24
- 181 added error hadeling by @jean874 in #25
- small fix for serving index.html (for testing if server is running) by @jean874 in #26
- added tests and refactored main by @Danmyrer in #28
- Update README.md by @Danmyrer in #29
- Development by @Danmyrer in #30
New Contributors
Full Changelog: https://github.com/under-the-oaks/ColdCase-Server/commits/v1.0.0
