Hoping to generate some discussion, I would like to ask if anyone who has messed with the idea of using the Multiplayer Plugin to create a dedicated peer/server and client peer who has any information and experiences to share.
Essentially, instead of trying to use unsupported WebSocket plugins (and/or just to get the basic hang of multiplayer game creation), I would like to create a game that utilizes C2's Multiplayer plugin to have what is essentially a dedicated server and clients.
I have run into some barriers though, in my idea of a server peer and client peer.
Because there is currently no way to specify build for a project, a server peer would either have to be implemented as a variation of the client peer, or vice-versa, and grouped according to client-specific functions and client-specific functions, with the release version simply an "events disabled" of one or the other.
The other way I imagine would be to separate the two into a server peer and client peer project. With this solution, however, all objects, layers, layouts, & etc. would need to be appropriately mirrored between projects. This sounds like a hassle (but could be a tad easier given the use of a repository).
Then there is also the requirement that the server create new "rooms" autonomously. So say, if a player would like to enter a new, separate instance of a map, the server would have to open a new tab with a room given a unique ID that it then passes to the player to attempt a connection.
There is also the matter of databasing, and also passing information between room instance... tabs.
Some of this could be implemented later, however, I'm not sure how to even start a project that uses C2 in such a way.
Could there also be support some day for build-specific code so that we could separate client/server builds and/or (for other uses) platform specific builds without fracturing a project into multiple varied ones?
Maybe Ashley can comment on that last idea.