Set up a project | 2 - Upload your game
To upload your game assembly and use it to create a containerized game image, complete the following steps.
Step 1: Create an API key
Create an API key in the zeuz control panel (ZCP) and make a note of it.
To create an API key:
In the ZCP, click your login name (or the three dots, if they appear instead) at the top right to open the drop-down menu, then click API Keys. This takes you to the API Keys page.
Click CREATE.
Enter an API key title using alpha-numeric characters. The API key title is your choice.
Enter an API key password using alpha-numeric or special characters. The API key password is your choice and can be different to your account password.
We recommend using different passwords for security reasons.
Click SAVE.
Step 2: Locate the project ID and environment ID
Locate the zeuz PROJECT ID and zeuz ENVIRONMENT ID on the zeuz control panel’s left pane.
Make a note of them, ready to use them with zeuz tool.
Step 3: Locate and prepare zeuz tool
On your local development machine, locate zeuz tool:
- Windows:
bin/windows_amd64/zeuztool.exe
- MacOS:
bin/darwin_amd64/zeuztool
- Linux:
bin/linux_arm64/zeuztool
orbin_linux_amd64/zeuztool
- Windows:
If you are using macOS or Linux, make sure the zeuz tool file is an executable file.
Info: How do I make sure it’s an executable file?
- Windows: zeuz tool is already executable, no action required.
- macOS: See support.apple.com
- Linux: In a terminal window, enter
sudo chmod +x /path/to/zeuztool
(replacingpath/to
with the correct path to the file).
(macOS only) my computer says this application is from an unidentified developer.
Allow the application (file) to run. See support.apple.com
Step 4: Authenticate
Use zeuz tool to authenticate yourself.
To do this, use the auth_login
command with your API key and the API key password. For example:
Windows:
zeuztool.exe auth_login login="your_API_key" password="your_API_key_password" isapi=true endpoint="https://zcp.zeuz.io/api/v1"
macOS and Linux:
./zeuztool auth_login login="your_API_key" password="your_API_key_password" isapi=true endpoint="https://zcp.zeuz.io/api/v1"
Replace your_API_key
and your_API_key_password
with your project’s API key and password.
Getting a
400
errorYou might be using directional (curly) quotes. Replace them with non-directional (straight) quotes ( " ) (ASCII 34).
You might have special characters (not alpha-numeric) in your API key password. Put an escape ( \ ) (backslash) before any special characters.
(macOS only) My computer says this application is from an unidentified developer.
Allow the application (file) to run. See: support.apple.com
Success
You know it’s worked correctly when you see the following output in your terminal window (where xxxhashxxx
is a hash string):
Zeuz Tool development version login: https://zcp.zeuz.io/api/x xxxhashxxx
Login Session: xxxhashxxx
Load LocalConfig: /Users/l<yourusername>/Library/ApplicationSupport/zeuz.io/zeuzcmd.json
Step 5: Upload (push)
Use zeuz tool to upload your project’s game assembly with the push command. Note that your project’s game assembly must be a directory.
In a terminal window, from the directory containing zeuz tool, run the following:
Windows:
zeuztool.exe push proj="your_zeuz_PROJECT_ID" env="your_zeuz_ENVIRONMENT_ID" directory="path/to/your_project"
MacOS and Linux:
./zeuztool push proj="your_zeuz_PROJECT_ID_hash" env="your_zeuz_ENVIRONMENT_ID_hash" directory="path/to/your_project"
Replace your_zeuz_PROJECT_ID
and your_zeuz_ENVIRONMENT_ID
with the IDs you located on the zeuz control panel’s left panel.
Replace path/to/your_project
with the relevant path to your project. Keep the double quotes (") around it.
Use non-directional (straight) quotes ( " ) (ASCII 34) with this command. Do not use directional (curly) double quotes.
Notes:
- This might take a little time to upload, depending on your game assembly size and your internet access speed.
- zeuz tool might output some text. It compares the hash of each file with its database of file hashes representing files already uploaded. It then uploads each file that isn’t already present in the database.
Getting an error?
Make sure you specify the directory
get_started_test_project
and not the executable file inside it,server.sh
.If you have renamed the
get_started_test_project
directory, you might have spaces in the new name. If so, make sure you’ve put non-directional (straight) quotes ( " ) (ASCII 34) around the directory name. For example:"test project".
Make sure you have no trailing spaces in the command (spaces or line returns).
Success
You know it’s worked correctly when you see output in your terminal window similar to the example below, listing all the project files in your game image (where xxxhashxxx
is a hash string):
Finished uploading my_project_file.* (xxxhashxxx)
Step 6: Create a containerized game image (push_publish)
Use zeuz tool with the push_publish
command to create a containerized game image of the game assembly that you uploaded in the previous step.
Instances of the containerized game image that zeuz creates from your game assembly are your game’s payload.
In a terminal window, from the directory containing zeuz tool, run:
Windows:
zeuztool.exe push_publish description="your-project-description" version="x.x.x"
MacOS and Linux:
./zeuztool push_publish description="your-project-description" version="x.x.x"
You can enter any alpha-numeric characters for the description and any numbers for the version. We recommend using semantic versioning (see semver.org for guidance).
Notes:
You don’t need to re-enter your
proj
andenv
IDs from the previous step. zeuz tool appends them automatically in your subsequent commands.Depending on the size of your game, this may take some time. You know it’s working if it’s outputting strings like the example below to your terminal window:
YYYY/MM/DD HH:MM:SS State: running
Getting an error
Make sure you have no trailing spaces in the command.
Success
You know it’s worked correctly when you see the following output in your terminal window (where xxxhashxxx
is a hash string):
YYYY/MM/DD HH:MM:SS Image published: xxxhashxxx
Now go to 3 - Create and configure allocations.
2021-jun-30 Page updated: updated url for ZCP
2021-may-05 Page updated with editorial review: clarified and updated terms
2021-mar-10 Page updated with editorial review: updated command syntax
2021-feb-05 Page created with editorial review