Improbable Icon

SpatialOS Forums

Live and development servers

Hi as we get close to our beta release, what is the best way to manage a live(production) server and development server? ie: typically when we use other systems we have a live server where players are and then a dev server where we test updates. Once we are happy with the updates we publish our dev server to the live server to push the update to the players.

What is the best way to handle this on Spatial? Would we have 2 deployments (and then we have to pay for the 2nd deployment just to test?) or is there another way to do this?

How do we control which server players can connect to?

Thanks!
-JJ

Hey @mythicalcity-JJ,

@Nee is going to get back to you with regards your question on pricing, but from a technical standpoint this would depend on how you’re getting your players into the deployments.

If you’re using the SpatialOS launcher then it’s simply a case of only providing your beta testers with the share links for the deployments that you want them to have access to.

If you’re using the Platform SDK for player authentication then you can easily filter out deployments by tag.
So you could mark your deployments with dev or prod or whatever you fancy to ensure the appropriate separation.

docs.improbable.io/reference/14.0/platform-sdk/scenarios/player-auth#4-choose-a-deployment-that-the-player-is-allowed-to-join

Ok thank you Leuan. Yes, we are using Steam so launching through Steam.

What happens if we change tags on a deployment? ie: if we have 2 deployments (Dev and Prod) each tagged. And then we want to switch players over to the Dev deployment once we are ready to push that to the players. Would we do this:

  1. change the Dev tag to Prod
  2. stop the previous Prod deployment

Would players in this case that were connected get disconnected or would they switch over to the new deployment automatically?

What would happen if there were 2 deployments with the same tag when a player tried to connect?

Hey @mythicalcity-JJ

Would players in this case that were connected get disconnected or would they switch over to the new deployment automatically?

The player who already connects to a deployment won’t be affected if you change the tag. The tag is used when platform SDK request list of deployment with a specific tag, then the player will connect to the deployment from this list.So they will need to reconnect if you want to switch the player to different deployment.

What would happen if there were 2 deployments with the same tag when a player tried to connect?

You can decide which deployment you want to the player to connect from the list in your code.

Let me know how it goes.

Best Regards

Stan