Create a build from Amazon S3 bucket
Last updated: May 29, 2026
This guide explains how to create a build using files stored in an Amazon S3 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:
An Amazon Web Services (AWS) account with access to S3
An S3 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 bucket access
Step 1: Create the IAM User
Sign in to the AWS IAM Console.
In the left navigation pane, click Users and then click Create user.
Enter a User name (e.g.,
s3-bucket-reader).Keep "Provide user access to the AWS Management Console" unchecked (since this is for programmatic use only).
Click Next.
Step 2: Grant Specific Bucket Permissions
To ensure the user can only see one bucket, you must create a "Customer Managed Policy."
On the Set permissions page, select Attach policies directly.
Click Create policy (this opens a new tab).
Click the JSON tab and paste the following policy. Replace
your-bucket-namewith your actual bucket name:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowListBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::your-bucket-name"
},
{
"Sid": "AllowGetObjects",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}Note: In AWS, listing a bucket and reading files are separate actions. ListBucket applies to the bucket itself, while GetObject applies to the contents (/*).
Click Next, give the policy a name (e.g.,
ReadSpecificBucketOnly), and click Create policy.Go back to the Create user tab, click the Refresh button next to the search bar, search for your new policy name, and check the box next to it.
Click Next, then Create user
Step 3: Generate Access & Secret Keys
In the Users list, click on the name of the user you just created.
Navigate to the Security credentials tab.
Scroll down to Access keys and click Create access key.
Select Application running outside AWS as your use case and click Next.
(Optional) Add a description tag and click Create access key.
Copy your Access Key ID and Secret Access Key.
Click Download .csv file to keep a backup. You will never be able to see the Secret Key again after leaving this screen
Prepare your bucket
Organize your build files in the bucket:
s3://your-bucket-name/
└── builds/
└── my-game-server/
├── server.x86_64
├── server_Data/
└── config/Create the build
Using the Multiplay Dashboard
In the Multiplay Dashboard, open Multiplay Hosting.
Select Builds.
Select Create build.
Fill in the build details:Give the new build a name.Select the operating system.As the Upload method, select Amazon S3.
Select Next.
Fill in the Amazon S3 bucket credentials:Enter the Bucket S3 URI.Enter the Access key.Enter the Secret key.Give the new build a version name or leave empty if you would like this update to automatically be given a version name.
Select Finish
Using the API
You can create a S3-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": "S3"}' \
https://api.multiplay.dev/v4/projects/{projectId}/environments/{environmentId}/buildsThe 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":"S3",
"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>", "s3": {"s3URI": "s3://<S3_BUCKET_PATH>", "accessKey": "<S3_KEY_ID>", "secretKey":"<S3_SECRET_KEY>"}}' \
https://api.multiplay.dev/v4/projects/{projectId}/environments/{environmentId}/builds/{buildId}/versionsWhere the <PLACEHOLDER> values above are replaced as follows:
Update build files
To update your build:
Upload the new files to your S3 bucket.
Create a new build version in Multiplay Hosting.
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 S3 lifecycle policies to manage old build versions
Consider using S3 Intelligent-Tiering for cost optimization
Enable CloudTrail logging for security auditing
Troubleshooting
Build sync fails with access denied
Verify the bucket policy is correctly configured
Check that the IAM permissions are properly set
Ensure the bucket region is correctly specified
Verify there are no S3 Block Public Access settings preventing access
Slow build sync
Large builds may take time to sync. Consider:
Compressing assets where possible
Removing unnecessary files
Using S3 buckets in regions close to your deployment regions
Enabling S3 Transfer Acceleration for faster uploads
Additional resources
Amazon S3 documentation
Build API workflow