The NIGHTCELL 7 match server has worked end to end since v0.5.3. The trouble was that nothing in the game ever asked it for a match. The server was running, the tickets were being signed, and no player could get in.
v0.5.4 adds the way in.
What you can do now
Open nightcell7.com/play and the start screen has a Play online section with two choices.
Quick match puts you in the public 6v6 Team Deathmatch lobby on Ardavan Yard. If the room is not full, bots hold the empty seats and give them up as people join, so you never wait on an empty server.
Private match gives you a six character code and a link to send a friend. They paste the link, or type the code, and land in the same room. Nobody from Quick match can wander in.
If you are not signed in, either button takes you to the sign in page and then straight back to the match you asked for.
What the screen tells you
The lobby says what is happening instead of spinning: requesting a ticket, connecting, waiting for players (with a count of people and bots), live, match over with the score, or connection lost with a Rejoin button. If the server turns you away it says why, for example that your email still needs verifying or that the page is out of date.
How it works
The server is authoritative. Your browser sends what you pressed and where you are looking, and the server decides movement, hits, damage, deaths and the score. The yard you see is drawn from the server's state: other players on the same operator models the bots use, your health and ammo from the server, and a banner with the phase, team scores and clock.
The flow is covered by a test that runs two players through the real API, the gateway and the match server and checks they end up in the same room. I also ran it in the production image with two headless Chromium browsers, signing in from the start screen, and both landed in one room with ten bots.
Multiplayer is free and needs a verified account. It is still an alpha, so expect rough edges, and tell us what breaks.
Play: nightcell7.com/play
Top comments (0)