Deploying a Minecraft Server on Akash

Akash Network is a decentralized cloud computing platform that offers cost-effective and flexible solutions for deploying various applications, including game servers. Deploying a Minecraft server on Akash lets you enjoy the benefits of decentralization, reduced hosting costs, and high availability.

In this guide, we will walk you through deploying a Minecraft server on Akash using an example SDL (Service Definition Language) template. We’ll also explain key configurations to customize the Minecraft experience.


Why Use Akash for a Minecraft Server?

  1. Decentralization: Host your server on a blockchain-powered cloud to reduce reliance on traditional hosting providers.
  2. Cost-Effective: Akash’s decentralized nature allows users to leverage competitive pricing from providers.
  3. Flexibility: The Akash platform is compatible with a wide range of applications, including custom game servers.
  4. Performance: Akash supports hosting on high-performance compute resources, ensuring low latency and reliability for gaming.

Prerequisites

Before deploying your Minecraft server, ensure you have the following:

  1. Akash Wallet: To interact with the Akash blockchain.
  2. AKT Tokens: Used for bidding and payment for compute resources.
  3. Akash CLI or Console Access: To deploy and manage workloads.
  4. Basic SDL Template: A file that defines the deployment configuration.
  5. Dockerized Minecraft Server Image: For example, itzg’s Minecraft Server Docker image.

Steps to Deploy Minecraft Server on Akash

1. Prepare the SDL File

The SDL (Service Definition Language) file specifies the deployment details such as compute resources, ports, and Docker image. Below is a sample SDL template for deploying a Minecraft server:

version: "2.0"
services:
minecraft:
image: itzg/minecraft-server:latest
env:
EULA: "TRUE" # Agree to the Minecraft EULA
VERSION: "1.20.1" # Specify the Minecraft server version
MEMORY: "2G" # Allocate memory to the server
expose:
- port: 25565
as: 25565
to:
- global: true
profiles:
compute:
minecraft:
resources:
cpu:
units: 1 # 1 CPU core
memory:
size: 2Gi # 2GB RAM
storage:
size: 10Gi # 10GB storage
placement:
westcoast:
attributes:
region: us-west
pricing:
minecraft: # Define pricing for the service
denom: uakt
amount: 100 # Set a bid price
deployment:
minecraft:
westcoast:
profile: minecraft
count: 1 # Deploy a single instance

2. Customize the SDL

Modify the SDL to fit your requirements:

  • Version: Adjust VERSION to the desired Minecraft server version.
  • Memory: Increase or decrease the MEMORY allocation based on expected player load.
  • Storage: Ensure enough storage is available for world data and plugins.
  • Pricing: Set a competitive bid price under amount to secure compute resources.

3. Deploy the SDL

Use the Akash CLI to deploy your server.

  1. Create the Deployment:

    Terminal window
    provider-services tx deployment create <path-to-sdl> --from <your-wallet> --chain-id <chain-id>
  2. Bid for Resources: Wait for providers to respond with bids. Accept a bid using the CLI:

    Terminal window
    provider-services tx market lease create --dseq <deployment-sequence> --from <your-wallet> --chain-id <chain-id>
  3. Monitor the Deployment: Use the following command to check the status of your deployment:

    Terminal window
    provider-services query market lease list --owner <your-wallet>

4. Connect to the Minecraft Server

Once the deployment is active:

  • Obtain the external IP address of your Akash deployment.
  • Use the Minecraft client to connect to the server by entering the IP address and port 25565.

5. Manage and Update the Server

To manage or update your Minecraft server:

  • Modify the SDL file with new configurations.
  • Redeploy the updated SDL using the Akash CLI.
  • Use the Akash logs to monitor server activity:
    Terminal window
    provider-services logs --dseq <deployment-sequence> --from <your-wallet>

Tips for Customization

  • Add Plugins: Mount a volume for persistent storage and include plugin files in the Docker container.
  • Backup Worlds: Schedule backups by adding scripts to the Minecraft container or utilizing Akash’s storage options.
  • Enable Mods: Use a Forge or Fabric Minecraft server image for modding support.

Conclusion

With Akash, you can deploy a Minecraft server that benefits from decentralized infrastructure and cost efficiency. By following this guide and customizing the provided SDL template, you can create a Minecraft server tailored to your gaming needs. Enjoy hosting your Minecraft world in a decentralized, scalable environment!

footer-logo-dark

© Akash Network 2025 The Akash Network Authors Documentation Distributed under CC BY 4.0

Open-source Apache 2.0 Licensed.

GitHub v0.38.2

Privacy