Follow

A rust framework for quickly implementing MMO server emulators

Made an API for constructing handler dispatchers using an anymap to retrieve references to server state from a context. It supports multiple handlers per opcode and conditional guards to short-circuit handlers from running and perform state validation ala mangos' checks to ensure a connection is in a particular state. The use of a DI container context means handlers are fully decoupled from state and can theoretically be hot-reloaded, or using multiple dispatchers at runtime.

I'm still sketching out an actix-web and specs style abstraction for extracting information out of the context statically, but it's currently very straightforward to write and bind handlers by just directly grabbing references from the context. Ideally you'd be able to specify handler dependencies with just function parameters, but I'm struggling to make that work.

This may be another crate to publish if it turns out to be useful.

Next thing I really want to explore is hot reloading dispatchers from rust dlls. I feel like that has the potential to be extremely useful for RE work.

Sign in to participate in the conversation
Awoo Space

Awoo.space is a Mastodon instance where members can rely on a team of moderators to help resolve conflict, and limits federation with other instances using a specific access list to minimize abuse.

While mature content is allowed here, we strongly believe in being able to choose to engage with content on your own terms, so please make sure to put mature and potentially sensitive content behind the CW feature with enough description that people know what it's about.

Before signing up, please read our community guidelines. While it's a very broad swath of topics it covers, please do your best! We believe that as long as you're putting forth genuine effort to limit harm you might cause – even if you haven't read the document – you'll be okay!