Try reordering the declarations. ie
app.post('/signup', function (req, res) {
console.log(req.body);
console.log(res);
res.end();
})
// This is the Colyseus implementation
const gameServer = new Server({
server: createServer(app)
});
As far as I know express will process the hooks in the order they are declared so if colyseus is acting like a catch-all nothing after it will be processed. I am doing the same thing and I have all my HTTP handlers declared before the colyseus implementation.