Application Build Provisioning
The purpose of the i3D.net ONE Game Hosting platform is to deploy your applications. Providing your builds to the platform therefore is a crucial process. On this page we will explain how you can upload your builds.
Origin node request / registration
An origin node is simply a server to which you can upload your build archives and from where our platform can download builds. A build archive file will be downloaded, cached and distributed by the i3D.net CDN as soon as the first deployment of your application takes place.
The i3D.net CDN (Content Delivery Network) will download your build from an origin node, using HTTP(S). That means that an origin node must run a web server. Files are often secured by firewalls allowing only certain IP addresses, or by means of HTTP headers to add an additional layer of security. We prefer JWT tokens, but any kind of header aimed at security will work, e.g. an Authorization header.
Info
Currently, requesting or registering an origin node is not an automated process. You will have to request or register an origin node via ticket for the time being.
Custom CDN Domain Name
Origin nodes must be registered in our system so our CDN knows where to grab your archives. And because files are distributed by our CDN, you will also be given a XXXXX.cdn.i3d.net sub-domain. While requesting or registering your origin node you can indicate the desired sub-domain prefix.
i3D.net provided origin node
You can request an origin node provided by i3D.net. At the time of writing, you must request this through a ticket and you must be a game hosting client.
When requesting an i3D.net provided origin node, you must provide us with the following details:
- a custom name for your origin node
- desired CDN domain (XXXXX.cdn.i3d.net where you can choose XXXXX)
- only a-z characters allowed, max length: 16 characters
- if it's no longer available we will ask for a new suggestion
Once setup, we send you the login details, after which you can upload your first build to the origin node using the SCP or Rsync-over-SSH protocol.
You can find your registered origin node in our API by performing a request on /v3/buildProvisioning/storage/registration. You will need these details when creating an ApplicationBuild.
Structure of your build archive
For the best deployment predictability of your application, please ensure that your build archive's root contents is the root of your application's folder. By that we mean, ensure you do not have only a folder in the root of the archive that contains all the files. The root of your archive must be the root of your application's folder structure.
Wrong structure
This faulty example has the game server's root folder inside the archive.
Correct structure
This correct example has the game server's files immediately in the archive root. You are permitted to create a folder and place your packed game server there.
Upload your build archive
Using the credentials provided by us, log in on the origin node and upload your file. Be sure to only use zip or rar files.
Warning
You must use the origin URL to upload your files, not the CDN domain name. Also, you must upload your files with sFTP (on port 22).
List files on your origin
Once your file is uploaded, it will be available in the following list with a very small delay (seconds).
API Documentation: /v3/buildProvisioning/storage/file
Create ApplicationBuild element
With your file uploaded to our platform, you can point to it in your ApplicationBuild element. This process is described in the next chapter: Application Build Management
Warning
Do not delete the build archive file from your origin until you are no longer deploying it and until you have disabled the ApplicationBuild that uses it!
Build distribution via CDN
Distribution of your build archives towards your gaming hosts is done via the i3D.net CDN (Content Delivery Network). The CDN is comprised of servers in many regions. Each region will individually download the build archive from your build origin and cache it. The default cache time-to-live is 7 days for any file served by the CDN. This TTL is not reset, so after 7 days the file will always be purged. If the file is downloaded again through the CDN, the file will be pulled from your origin again.
It is therefore very important you do not remove build archives from your build origin until you really do not need it anymore.
Changing a file in the CDN : Guidelines to follow
Warning
Before you update a new file, you must disable the fleet to ensure that there is no running application instance deployed on it.
When you change or upload a new file in the CDN the following steps will occur:
- The old file with the same name in the CDN is deleted.
- A new file entry is automatically created for you with a new ID.
Next steps after you create a new file ID:
- You must create a new application build with the newly created file ID.
- Link your newly created file ID to your fleet so that you can use it.