o7studios

Full Backend Solution for Minecraft Servers

Octopus is a real-time, cloud-native platform that helps Minecraft servers share and manage data. No more complex backends.

Centralized, Versioned Data

Multiple servers share a single source of truth, with revisions ensuring safe updates

Real-Time Event Streaming

Servers subscribe to key patterns and react instantly to changes (e.g. player movements, achievements or specialized events).

Stupidly Simple Queries

Retrieve objects using hierarchical key patterns with wildcards (*, >), and optionally filter by creation time, expiration, or JSON content. Ideal for managing temporary entries, buffs, or tracking events.

Scales Across Many Servers

Ideal for networks where each server handles local gameplay but still stays in sync with global state.

Secure & Encrypted Connection via mTLS
Automatic Data Backups
Scales Horizontally with Kubernetes
How to Use Octopus

Backends, but Simplified

The Octopus SDK only exists of 4 methods that are used for every kind of operation. Backends don't have to be hard.

Get Function

Retrieves existing entries from the database matching a key pattern. Can optionally include expired objects and filter by revision creation time.

Write Function

Stores an object on key with new revision in the database.

Call Function

Stores an object on key with new revision in the database and returns the stored version, including the revision and ID.

Listen Function

Bidirectional stream for real-time updates. Clients register for key-patterns (ListenRegister) and receive events (EventCall).

Server 1
1entry, _ := client.Call(ctx, &apiv1.Object{ 2 Key: "hello.world", 3 Data: map[string]interface{}{"msg": "Hello servers!"}, 4}) 5 6fmt.Println("Sent message:", entry.Object.Data["msg"])
Console 1 Output
1Sent message: Hello servers!
Server 2
1stream, _ := client.Listen(ctx) 2stream.Send(&apiv1.ListenMessage{Msg: &apiv1.ListenMessage_Register{ 3 Register: &apiv1.ListenRegister{KeyPattern: "hello.world"}, 4}}) 5 6for { 7 e, _ := stream.Recv() 8 oldMsg := e.GetCallback().Object.Data["msg"] 9 e.GetCallback().Object.Data["msg"] = "Hello clients!" 10 11 fmt.Println("Received message:", oldMsg) 12 fmt.Println("Modified message:", e.GetCallback().Object.Data["msg"]) 13 14 stream.Send(&apiv1.ListenMessage{Msg: &apiv1.ListenMessage_Callback{Callback: e.GetCallback()}}) 15}
Console 2 Output
1Received message: Hello servers! 2Modified message: Hello clients!
Cta
Flexible Usage

Build with your Favorite Language

Octopus provides official SDKs for multiple languages. You can use it in any kind of application.

Java

Create Minecraft Plugins or Java-based services.

Golang

Create microservices with maximum performance.

Typescript

Build web interfaces and applications.

Foolproof Installation

Installing Octopus consist of a few steps and only takes a few minutes.

Configure

Generate mTLS certificates and set them (plus backup strategy) in values.yaml.

Deploy

Apply the Helm chart using your values.yaml.

Connect

Clients connect to the server using their mTLS certificates.

Get in touch

Would you like to develop a server or are you planning your next event? Contact us if you would like to work with us.

Cta

o7studios is in no way affiliated with Mojang Studios, nor should it be considered a company endorsed by Mojang Studios.

© 2025 o7studios. All rights reserved.
Cta