Based on the DigitalOcean Tutorial by goesta, I created this little guide on how to run an XMage server on Google Cloud.
1. Login to your Google Cloud account or sign up with free credits:
As of 2024, you get $300 of credits for the first 90 days. Please note, a credit card (not a pre-paid debit card) is required.
2. Search for "firewall" and click "Create Firewall Rule" with the following settings:
- Name:
allow-incoming-traffic
- Target tags:
xmage
- Source IPv4 ranges:
0.0.0.0/0
- Specified protocols and ports: TCP > Ports:
17171,17179
3. Go to "Compute Engine" and click "Create Instance" with the following settings:
(If this is a new project, you might have to "enable" the API first.)
- Boot disk > Operating System: "Container Optimized OS"
- Advanced Options > Networking > Network tags:
xmage
4. Note the external IP address.
5. SSH into the newly created VM and "Authorize".
6. Replace both occurrences of "123.456.78.90" with the external IP address of your VM and then run this command:
sudo docker run --rm -it \
-p 17171:17171 \
-p 17179:17179 \
--add-host 123.456.78.90.nip.io:0.0.0.0 \
-e "XMAGE_DOCKER_SERVER_ADDRESS=123.456.78.90.nip.io" \
goesta/xmage-beta
7. Connect to server from an XMage client
- Server name:
123.456.78.90
(replace with external IP address from your VM) - Port:
17171
8. Make sure to "delete" (not just "stop") the VM after use to avoid paying for storage while the server is offline.
Ensure that the VM has an external IP address:
Advanced Options > Networking > Network interfaces > "default" (or name of your network) > External IPv4 address > "Ephemeral"
Unable to connect from XMage client:
Review the firewall settings to allow incoming traffic.