quilkin
Our great sponsors
quilkin | among-us-tutorial | |
---|---|---|
7 | 2 | |
1,218 | 9 | |
3.0% | - | |
8.9 | 3.3 | |
2 days ago | 9 months ago | |
Rust | TypeScript | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
quilkin
- Release: Quilkin v0.7.0 — a UDP proxy specifically designed for large scale gameservers
- Announcing Quilkin 0.6: A UDP Proxy designed for gameservers
-
How can I get a reverse proxy to work for my Space Engineers game server?
Quilkin should work for this. Set up one client on your VPS, then set up a second client on a host somewhere inside your network. Connect both instances together and have the host on your network forward traffic to the 27016 endpoint
- Announcing Quilkin 0.4.0: Now with Improved CLI, builtin xDS, and GeoIP support
- Show HN: Hathora – Multiplayer Game Development Made Easy
-
DoS Attacks against my Online Game
The firewall would need to be able to handle all the DDoS traffic as well, since your current idea would still pass the game server's IP back to a client. This is doable if you're hosting on a cloud provider and let their firewalls filter the traffic before hitting the game server.
Embark Studios recently open sourced (in alpha) a UDP proxy[1] designed for games that lets you implement a load balancing layer. This allows you to remove servers in the load balancing layer in the event that it comes under attack, allowing the game server to stay up and only having to disconnect a portion of players connected to the attacked loadbalancer. Having a proxy layer is also how Steam protects game servers using the Steam Datagram Relay[2].
[1]: https://github.com/googleforgames/quilkin
- Quilkin: A non-transparent UDP proxy written in Rust
among-us-tutorial
-
Hathora – Make Web Based Multiplayer Games w/ NodeJS
Among Us Demo (180 LOC)
-
Show HN: Hathora – Multiplayer Game Development Made Easy
Hi HN, this is Harsh, I am the developer behind Hathora. I tried making a simple multiplayer game a few years ago and, as someone with software engineering experience but no gamedev experience, I found it to be very challenging. On top of the challenges of building a single player game, you now have to constantly battle the network and latency, find ways to prevent cheating, and figure out how to make a scalable backend architecture. With Hathora my goal was to encode best practices for online multiplayer game development into a framework so developers can simply focus on implementing their game logic.
Some technical pieces of Hathora I wanted to highlight:
- Hathora includes a system I think of as “gRPC for games”. You define your API in Hathora’s declarative format and the framework spits out typesafe data models, clients, and server endpoint stubs across multiple programming languages (although currently only Typescript is implemented). Minimal packet sizes are achieved through a binary serialization format which includes a delta encoding feature, allowing the framework to efficiently synchronize state by sending data diffs.
- Hathora includes a Swagger-like Prototype UI generated from the API definition. This allows you to view the game state and call server methods all in realtime, letting you interact with your backend logic without writing a single line of frontend code. Once you are happy with the backend logic, you can create a fully custom frontend using any framework/technology you’d like and just use the Hathora client to communicate with the backend.
- By handling generic game functionality (state synchronization, messaging, persistence, etc) for you, Hathora lets you create multiplayer games with very few lines of code. For example, see chess which is implemented in under 200 lines of user code: https://github.com/hathora/hathora/tree/develop/examples/che.... I also made (a massively simplified version of) Among Us in under 200 lines of code: https://github.com/hathora/among-us-tutorial
I am looking for developers interested in making online multiplayer games to try out Hathora and give me feedback. Additionally, if the roadmap seems interesting to you I would gladly welcome contributions: https://docs.hathora.dev/#/roadmap. I’ll be around to answer questions, let me know what you think!
What are some alternatives?
sozu - Sōzu HTTP reverse proxy, configurable at runtime, fast and safe, built in Rust. It is awesome!
nakama - Distributed server for social and realtime games and apps.
workers-chat-demo
geckos.io - 🦎 Real-time client/server communication over UDP using WebRTC and Node.js http://geckos.io
gridia
builder - Multiplayer game framework
veloren - An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World. This repository is a mirror. Please submit all PRs and issues on our GitLab page.
open-saves - Open Saves is a cloud native data store for game development.
rathole - A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.
matchbox - Painless peer-to-peer WebRTC networking for rust wasm (and native!)