Create a build from a Google Cloud Storage bucket

Last updated: May 29, 2026

This guide explains how to create a build using files stored in a Google Cloud Storage (GCS) bucket. This approach is useful for large builds or when you want to manage your build files in your own cloud storage.

Prerequisites

Before you begin, ensure you have:

  • A Google Cloud Platform (GCP) account with access to Cloud Storage

  • A GCS bucket containing your game server build files

  • Appropriate IAM permissions to configure bucket access

  • Your game server executable and all required files uploaded to the bucket

Configure access

Step 1: Create the Service Account

  1. Open the Service Accounts page in the Google Cloud Console.

  2. Select your Project.

  3. Click + Create Service Account at the top.

  4. Enter a Service account name (e.g., bucket-viewer-account). The ID will auto-populate.

  5. Click Create and Continue.

  6. Optional: You can skip the "Grant this service account access to project" step by clicking Continue and then Done.

Step 2: Generate the JSON Key

This file contains the private credentials used for authentication.

  1. In the Service Accounts list, find the account you just created.

  2. Click on the Email address of that account to open its details.

  3. Navigate to the Keys tab.

  4. Click Add Key > Create new key.

  5. Select JSON as the key type and click Create.

  6. The JSON file will automatically download to your computer.

Warning: This is the only copy of the private key. Keep it secure and never commit it to public version control (like GitHub).

Step 3: Grant Access to a Specific Bucket

Now you must tell Google Cloud that this specific service account is allowed to look inside your bucket.

  1. Go to the Cloud Storage Buckets page.

  2. Click the Name of the bucket you want to grant access to.

  3. Select the Permissions tab near the top.

  4. Click Grant Access.

  5. In the New principals field, paste the Email address of the service account you created in Step 1.

  6. Under Select a role, search for and select Storage Object Viewer.Storage Object Vieer: Allows the account to list and view the metadata/content of files.

  7. Click Save.

Prepare your bucket

Organize your build files in the bucket:

gs://your-bucket-name/
└── builds/
    └── my-game-server/
        ├── server.x86_64
        ├── server_Data/
        └── config/

Create the build

Using the Multiplay Dashboard

  1. In the Multiplay Dashboard

  2. Select Builds.

  3. Select Create build.

  4. Fill in the build details:Give the new build a name.Select the operating system.As the Upload method, select Google Cloud Storage.

  5. Select Next.

  6. Fill in the Google Cloud Storage bucket credentials:Enter the Bucket URI.Paste the contents of the JSON key you created earlierGive the new build a version name or leave empty if you would like this update to automatically be given a version name.

Using the API

You can create a GCS-based build using the Create build API.

Step 1 - Create a build

curl -X POST -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" \
  -d '{"buildName": "Dev Build A", "osFamily": "LINUX", "buildType": "GCS"}' \
  https://api.multiplay.dev/v4/projects/{projectId}/environments/{environmentId}/builds

The response will be in the following format. Make a note of the buildID as you'll need that on the next API call.

{
    "buildID":200098,
    "buildName":"Dev Build A",
    "buildType":"GCS",
    "buildVersionName":"",
    "cfv":0,
    "osFamily":"LINUX",
    "syncStatus":"PENDING",
    "updated":"2026-04-01T13:36:41Z"
}

Step 2 - Create a version

curl -X POST -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" \
  -d '{"buildVersionName": "<VERSION_NAME>", "gcs": {"gcsURI": "gs://<GCS_BUCKET_PATH>", "serviceAccountKey": "<JSON_KEY>"}}' \
  https://api.multiplay.dev/v4/projects/{projectId}/environments/{environmentId}/builds/{buildId}/versions

Where the <PLACEHOLDER> values above are replaced as follows:

Update build files

To update your build:

  1. Upload the new files to your GCS bucket.

  2. Create a new build version in Multiplay Hosting.

  3. The new version will sync with the updated files.

Best practices

  • Use versioned folders in your bucket (e.g., builds/v1.0.0/, builds/v1.1.0/)

  • Enable bucket versioning for rollback capabilities

  • Use lifecycle policies to manage old build versions

  • Monitor bucket access logs for security

Troubleshooting

Build sync fails with access denied

  • Verify the bucket permissions are correctly configured

  • Check that the Multiplay Hosting service account has the necessary IAM roles

  • Ensure the bucket URL is correctly formatted

Slow build sync

Large builds may take time to sync. Consider:

  • Compressing assets where possible

  • Removing unnecessary files

  • Using regional buckets close to your deployment regions

Additional resources

  • Google Cloud Storage documentation

  • Build API workflow