How to prevent cheating?

Do you need a full game engine server side though? What benefits do you think it would give you? I think that’s the part where I’m having trouble in understanding the requirements.

It sounds more like you want a single code base for both the backend and client in which case PlayCanvas won’t fit your requirements.

devMiguard did a PlayCanvas .io game here: Blast Arena Open Beta

Personally, I would have separate codebases between the server and client just so I have the option to use different technology on the client (eg mobile).

I’m having a quick look myself of the libraries and didn’t know there were so many for the server side.

Some examples:
http://colyseus.io/ (looks like Tanx from PlayCanvas used this at some point?)
http://lance.gg/ (has a physics engine integrated)
https://www.isogenicengine.com/

(Note: I’m not an expert on this and only have a high level understanding of multiplayer games + architecture)