---
title: 'Making a Beta 1.7.3 Server (with Docker)'
date: 2025-03-06T20:00:46+02:00
draft: false
---

You miss when Minecraft was simpler? Want to go back to a time before The Adventure Update released? Well, look no further than this guide. I will be guiding you thorugh the entire setup process of a Minecraft Beta 1.7.3 server, with some basic plugins and we'll also be running the server through Docker. So make yourself comfortable and without any further ado, let's begin!

## Prerequisites
* Some sort of Linux server: 
  * **A VPS**: There isn't really that much need for huge ammounts of ram, and as such you can probably go with the cheapest host you can find on LowEndTalk which gives you around a gigabyte of ram. Remember, we aren't running a Minecraft server for the latest version, so we can cheap out on RAM. Fun fact: [for a while, MinecraftOnline, the world's oldest Minecraft server, was being run on a box with 1.5GB of RAM!](https://minecraftonline.com/wiki/Hardware#Hemingway). You could also try your luck with a NAT VPS, if you don't mind not having the default port (25565) available.
  * **A physical server**: You can probably run this entire setup on an almost 20 year old C2D computer and have acceptable performance. A con would be that you need to port forward, which is getting less and less common as ISPs are implementing CGNAT. If you have CGNAT, you won't be able to port forward. A workaround would be reverse proxying the server, but NAT Masquerading would make it nearly impossible to get a Player's real IP, unless someone implements the [PROXY protocol](https://seriousben.com/posts/2020-02-exploring-the-proxy-protocol/) in the old and obscure Craftbukkit build we're going to be using. Though Playit, a popular tunneling/reverse proxying service, maps every source IP to a random IPv4 127.0.0.0/8 range.
  * **Shared hosting**: Just get something decent. I've had a pleasant experience with [WitherHosting](https://witherhosting.com/) a few years ago, but I can't really vouch. Look around and find something decent. 
* Some Linux knowledge
* Docker
* (optional) Some networking knowledge
* (optional) Java 8 - you can skip over this if you decide to just use Docker.

## Getting started.
To run a Minecraft server, you must get a server JAR. We will be using Craftbukkit CB1060, which seems to be a community favorite when it comes to beta 1.7.3 servers. Archive.org hosts a CB1060 build which you can download. But first we'll make a directory.
```
mkdir /srv/minecraft
cd /srv/minecraft
curl https://archive.org/download/craftbukkit1060/craftbukkit1-7-3%281060%29.jar -o craftbukkit.jar
#and now let's generate the skeleton!
java -Xmx1G -jar craftbukkit.jar
```

Alright, now we've generated the server files, click CTRL+C or enter the `stop` command to stop the server. We can't join the server yet! We have to disable authentication and download the AuthMe plugin!

```
curl https://mediafilez.forgecdn.net/files/540/724/AuthMe-2.0.jar -o plugins/AuthMe.jar
```
Installing AuthMe is as simple as that! You can enable sessions within `plugins/AuthMe/config.yml`, which will make it so users don't have to log in again if they've already logged in from that IP in a reasonable timeframe. However, **this is a huge sequrity risk if you have to resort to tunneling services, beware!!!**

Okay, now to disable authentication, we'll have to edit the `server.properties` file, more specifically line 7, set `online-mode` to false. We can now start the server again via `java -Xmx1G -jar craftbukkit.jar`.

Now hop on, register with a strong password, and give your account operator status via the `op` command.

## Docker time!
Firstly, it is a wise idea to move everything in your `/srv/minecraft` server to a `data/` folder, now you may be wondering why I am only using Docker after making the server on bare metal. Well, it's easier to setup a base Minecraft server this way. Okay, enough talking.
```
mkdir data
mv ./* ./data #ignore whatever error you get, the operation would happen anyways
nano Dockerfile compose.yml
```

**Dockerfile**
```
FROM eclipse-temurin:8-jre-alpine
WORKDIR /data
CMD java -Xmx1G -jar ./craftbukkit.jar
```

**compose.yml**
```
services:
  minecraft:
    build: .
    container_name: minecraft
    ports:
      - "25565:25565"
    volumes:
      - "./data:/data"
    restart: always
```

## Now it's time to expose your server to the internet!
You can simply port forward your server via your router, however if you don't have a dedicated IPv4 address you must use a proxy. See [my proxying guide](https://fzorb.xyz/posts/safely-selfhosting/) if you want to setup your own reverse proxy, or you can just use Playit.
