Learn

Get to know Acurast. Explore our story, dive into the technical documentation, and see who we’re partnered up with in the ecosystem.

A blocky Minecraft-style world projected above a smartphone held in two hands, illustrating a Minecraft server running on a phone through Acurast Cargo.

Run Your Minecraft Server Without a Cloud Provider

 

A blocky Minecraft-style world projected above a smartphone held in two hands, illustrating a Minecraft server running on a phone through Acurast Cargo.

Setting up a Minecraft server is easy. Keeping one online is where things get more complicated.

 

If you want a world that your friends can join, you need somewhere to run the server. Traditionally, that means hosting it on your own machine, renting a VPS, or paying for a dedicated Minecraft hosting service.

 

But a Minecraft server is ultimately just software that needs compute, networking, and enough time to run. That means there are more options to run it, besides the traditional ways described above.

 

In this guide, we’ll deploy a Minecraft server on a connected phone (Processor) from the Acurast network. For this we’ll use the developer feature ‘Cargo, Acurast’s Linux-based runtime. We’ll configure the deployment, launch the server, expose it to our local network, and connect to it directly from Minecraft.

 

By the end, you’ll have a playable Minecraft world running on an Acurast processor.

 

Minecraft Is Also a Compute Workload

 

Minecraft probably isn’t the first application that comes to mind when thinking about decentralized compute. That’s precisely what makes it an interesting example.

 

A Minecraft server has many of the same requirements as other applications. It needs a runtime, network connectivity, persistent execution, and enough computing resources to serve users. Traditionally, those requirements point developers toward cloud infrastructure.

 

But they don’t necessarily have to.

 

Acurast provides a global decentralized processor network where applications can run on distributed compute resources instead of relying exclusively on traditional cloud servers.

 

This becomes considerably more powerful with Codename Cargo, Acurast’s move from a Node.js-focused runtime toward full Linux-based containers.

 

Cargo allows developers to run software built with Python, Go, Rust, C++, and other technologies that work on Linux. It also makes it possible to deploy applications that would have been difficult to run within the previous environment.

 

Including Minecraft.

 

The Minecraft example is therefore more than an experiment in running a game server. It’s a simple way to demonstrate what becomes possible when decentralized processors can run general-purpose Linux workloads.

 

Deploying Minecraft on Acurast

 

Acurast provides a Minecraft example application with much of the required setup already configured. That means we can focus primarily on configuring and launching the deployment.

 

Step 1: Open the Minecraft Example App

 

Start by checking out the Acurast Example Apps repository and navigating to the App Cargo Minecraft folder.

 

The project contains the scripts and configuration required to prepare the Minecraft server and create the tunnel that makes it accessible.

 

Most of this doesn’t need to be changed.

 

The example has already been configured to handle the underlying setup, so the main thing we need to provide is our deployment configuration.

 

Step 2: Configure the Deployment

 

Open the environment configuration and provide the required values.

 

The first is your Acurast mnemonic. This authorizes the deployment and is used to pay the associated network fees.

 

Next, configure an SSH password.

 

Under normal circumstances, you shouldn’t need to SSH into the processor because the Minecraft deployment is automated. It’s still useful to configure access, however, because it gives you a way to troubleshoot the processor if something doesn’t work as expected.

 

You’ll also need a callback URL.

 

Acurast uses this endpoint to return information once the deployment becomes available. For a simple test, a webhook service can provide an endpoint that receives the generated deployment information.

 

The deployment can remain configured for mainnet.

 

Depending on the current version of the example application, you may also see an option for a domain suffix. This is used as part of exposing the deployment externally. Acurast is working toward making this process more automatic, so this configuration may change as Cargo develops.

 

Step 3: Review acurast.json

 

Before deploying, it’s worth taking a quick look at the acurast.json configuration.This file controls additional deployment parameters, including how long the workload should remain active. For example, you might configure the Minecraft server to run for four hours for a quick test.

 

For a longer gaming session or a server that friends will regularly join, you’ll want to adjust the deployment duration accordingly. You should also make sure the deployment targets the required Android version, since older processor environments may not contain all the capabilities needed by the Minecraft example.

 

Once that’s done, we’re ready to deploy.

 

Launching the Minecraft Server

 

From the project directory, run:

 

acurast deploy

 

The Acurast CLI guides you through the remaining deployment process.

 

You’ll see the deployment parameters and associated fee before confirming the deployment. If necessary, you can adjust the fee before submitting it.

 

Once confirmed, Acurast begins finding and preparing a processor for the workload.

 

From here, most of the work happens automatically. The processor prepares the environment, installs the required components, downloads the Minecraft server, starts it, and establishes the tunnel used to reach the deployment. After a few minutes, the server should be ready.

 

Checking That Everything Is Running

 

The deployment logs give you a useful view into what’s happening on the processor.

 

As the deployment starts, you’ll see the different components being installed and initialized.

 

Eventually, the logs will show that the Minecraft server has started and that the tunnel has been connected. They’ll also provide the connection information needed for the next step.

 

At this point, Minecraft is running remotely on an Acurast processor.

 

We just need to make it accessible to the client.

 

Connecting Minecraft to the Server

 

There is one additional networking step. Because of how the Minecraft client handles ports and certificates, the example uses a command that exposes the remote Minecraft server to your local network.

 

Run the command provided by the deployment.

 

You’ll be asked for the SSH password you configured earlier. Once authenticated, the connection is established and the Minecraft server becomes available locally.

 

Now open Minecraft.

 

Choose Add Server and enter the server information provided by the deployment.

 

Save the server.

 

If everything is configured correctly, Minecraft should immediately begin retrieving information from it.

 

Click connect.

 

You’re now playing in a Minecraft world running on an Acurast processor.

 

Invite Your Friends

 

Once the server is running, the same setup can be used to create a multiplayer environment. Instead of keeping the world on your own computer, the game server runs remotely for the duration of the Acurast deployment.

 

Share the appropriate connection details with your friends and they can join the same world.

 

There’s one practical consideration worth keeping in mind: location matters. A game server is sensitive to latency. If you’re in Western Europe while the processor hosting your Minecraft server is much farther away, you may notice some lag. A processor located closer to the players should generally provide a better experience. For many applications, a few extra milliseconds may barely be noticeable.

 

When you’re trying to outrun a Creeper, they matter considerably more.

 

More Than a Minecraft Server

 

Deploying Minecraft is fun, but the more interesting part is what the example represents.

 

A Minecraft server isn’t a specially designed blockchain application. It isn’t a small JavaScript function written specifically for a constrained decentralized runtime. It’s an existing application that needs a Linux environment and compute resources.

 

And it can run on Acurast.

 

That’s the broader change introduced by Cargo.

 

Moving toward Linux-based container workloads expands what developers can deploy across the Acurast network. Game servers are one example, but the same model opens the door to backend services, APIs, developer tools, automation platforms, AI agents, and other applications traditionally hosted on centralized infrastructure.

 

The question becomes less:

 

“What can we build specifically for decentralized compute?”

 

And more:

 

“What software can we run on decentralized compute?”

 

Minecraft gives us a surprisingly good answer.

 

Quite a lot.

 

Watch the Full Video Tutorial

 

This guide covers the core deployment process, but the accompanying video walks through the entire setup on screen.

 

You’ll see how to configure the Minecraft example application, deploy it with the Acurast CLI, follow the processor logs, establish the local connection, and join the resulting Minecraft world.

 

Follow along with the video and try deploying your own Minecraft server on Acurast.

 

Then invite a few friends.