FIX script without put down server?

I have a question (as a non-expert):
if i create online game can lumberyard or amazon technologies allow you to repair/fix (script) without disconnecting the server ? … during the game of the players …

@Gholgota

This is a hard question to answer as the question as you didn’t provide a lot of details about what you want to do.

Most users of Lumberyard use GameLift to host their servers for online games so lets tackle that scenario first. Here you would make a build, upload it to GameLift and set-up your fleet options to scale your servers.

If you didn’t do anything else, you would have to:

  • Make a new build with your changes
  • Make a new GameLift fleet
  • Use GameLift’s controls to send traffic to new the fleet. However users on the old fleet would have to complete their current game sessions and start a new one (on the new fleet) to see the changes.

So far, not so good but not terrible if you have relatively short game sessions.

To support dynamic content changes you could:

  1. Use Lumberyard’s DLC/Dynamic Content features to make changes to existing fleets, which could change behaviour through the provision of new scripts. Lua and ScriptCanvas I believe both listen for manifest changes and reload as required. You would just need to use the tools to make new manifests to send your scripts.

  2. Use some cloud dynamic storage/service (like S3, CloudFront, DynamoDB, Lambdas+API Gateway) which could be updated with new control values or scripts. You server could poll/get notified of changes and read updates from the service and dynamically update without players being aware. You would have to build most of this yourself but its a very common pattern in games.

  3. Theres lots of other alternatives such as integrating with GameLift’s realtime fleets option, where you just provide server script logic which can be patched anytime. Theres no server binary to update. And new game sessions automatically get the latest scripts; theres no lumberyard integration with GameLift realtime as it just supports Unity/C#/dotnet core based clients at the moment.

It would be useful to know more about how you are thinking of building your online game and what do you mean by “repair/fix (script)”?

  • Are you talking about actual script changes ie Lua or ScriptCanvas changes?
  • Or do you mean change/alter behaviour such as value changes?
  • Or something else?

Hope that was somewhat useful.

1 Like

… really thanks for answer .
Well u give me a lot of things to read and study , u make me a lot of question … reasonable questions that I can’t answer right now (i dont have the knowledge to answer those questions ) but thanks to you now i have a “direction” to start from and keywords to investigate.

1 Like