Heroic Cloud: data required by a server

This forum doesn’t seem to have any tags or categories for games deployed to the Heroic Cloud, but as the “Help” link on our cloud page links here this is what will be used.

Anyway, I have a game server deployed to a brand new Heroic Cloud organization. Building our custom plugin was easy and a new image didn’t take long to get up and running. Or it’s not really running, as it requires some configuration data before it works correctly. So, what is the recommended way to inject config data into a newly built cloud image? Basically it’s a set of data files that the server plugin itself needs in order to function as well as various config files that clients/players will download. The server has an RPC interface through which data files can be added, but it’s not ideal to have to manually upload the files every time a new server version is deployed as there is always a short time window in which clients can connect and the files have not been added yet.

Would be nice if some kind of data directory would be mapped into the images, like the default development images do. That would allow a new server to always have access to the files it needs.

Or is there some other way that the somewhat sparse documentation doesn’t mention?

Hi @chakie -

We don’t have a category for Heroic Cloud on the forum because customers tend to email us to discuss their questions with us in private so we can provide help with specific details related to their projects.

Regards to Heroic Cloud, we don’t allow disk access for security reasons. The typical way we suggest bundling static data is by using “go:embed” to convert the files into static data bundled into the Shared Object which will then be automatically available to your module.

Go Embed is the official way to bundle static data into a go application/plugin and it’s super easy to use. You’ll need to checkin the generated file into the source control.

The email option was a last resort thing, especially as a support contract seemed to be required.

Embedding the data needed to get the server running works ok, I wasn’t aware that such an option even existed. Now I am, thank you. It’s not ideal, I would like to be able to just drop all kinds of resources onto the filesystem and read it in when required, but I also noticed that the filesystem is read only, so that will not really work.