AmbientRun / Ambient

The multiplayer game engine
https://ambient.run
Apache License 2.0
3.79k stars 122 forks source link

Remote debugger networking interface #463

Open FredrikNoren opened 1 year ago

FredrikNoren commented 1 year ago

We should start moving towards a remote debugger networking interface. I'm thinking we set up a separate port, which a debugger UI can then connect to. Some of the things we'll want to start adding/migrating to this interface:

philpax commented 1 year ago

Related: I'd like to see a rcon-like protocol for communicating with the server and asking it to do things, and providing the WASM with ways to integrate with that protocol. Projects can then define rcon commands that admins/devs can use to interact with the world.

Not sure if that's within scope for this, but figured I'd bring it up as a potential design consideration.

FredrikNoren commented 1 year ago

Hm yeah I think that might make sense; maybe we can have something like an "admin api" (over network), which can be used for a debugger ui, for remote console, and for running automated tools towards a running instance.

We already have the "http_interface", that could probably be wrapped into this as well (not the content serving part, but for instance we have /ping, and the idea was to add more endpoints to this for admin like things in the future; we could then turn it into a pure "dev http content server").

Maybe a grpc interface could be right for this? @pierd might have thoughts

pierd commented 1 year ago

Are there any useful tools based on rcon or other protocols? It might be handy to support some industry standard to leverage what's already out there.

philpax commented 1 year ago

Nah, it's all pretty bespoke I think - each game/engine has different requirements