TerraFirmaGreg (TFG) Server Setup: Requirements and Server Pack

Published on

TFG server setup for TerraFirmaGreg-Modern 0.13.17: Forge 47.4.13, Java 17, the pack's own RAM settings, the GitHub server pack, ports, backups and updates.

Snowy Minecraft mountain slope lined with spruce trees, seen from below

You want your group to go from knapped rocks to rockets in one shared world, so you need a TFG server. The CurseForge download of TerraFirmaGreg-Modern has no server files; the TFG team puts a server pack and a Docker file on GitHub instead. This guide reads those files as they were on 3 November 2026: what the server needs, how to install it on Linux, in Docker or on a panel, and which pack settings to change before your players spread out.

Quick answer: A TFG server for TerraFirmaGreg-Modern 0.13.17, released on 27 October 2026, runs Minecraft 1.20.1 on Forge 47.4.13 with Java 17. Download TerraFirmaGreg-Modern-0.13.17-serverpack.zip from the pack's GitHub releases, not from CurseForge, unpack it and run start_server.sh. That script gives Java a heap of just under 6 GB (-Xmx6024M), while the TFG team's own Docker file sets 8 GB. Java needs memory outside the heap too, so plan about 8 GB in total for the script as it ships and 10 to 12 GB for the 8 GB heap. Open TCP port 25565 for the game and UDP port 24454 for the voice chat mod, and make sure every player runs the same pack version as the server.

TerraFirmaGreg (TFG) Server Requirements

Taken from the 0.13.17 release files on GitHub and CurseForge on 3 November 2026:

TerraFirmaGreg-Modern
Latest release0.13.17, 27 October 2026
Minecraft1.20.1
Mod loaderForge 47.4.13
Java17
Heap in start_server.sh-Xmx6024M -Xms1024M
Heap in the Docker fileMEMORY: 8G
Mods in the server pack216 jar files
Server pack535.5 MB zip, about 600 MB unpacked
Ports25565 TCP for the game, 24454 UDP for Simple Voice Chat
World typetfc:overworld

The team ships often: 0.13.13 to 0.13.17 came out between 18 and 27 October 2026, five releases in ten days. Check the releases page before you start, and expect to update.

The pack pins Forge 47.4.13 in its server files and Docker file, while Forge's download site listed 47.4.28 as the recommended 1.20.1 build on 3 November 2026. A panel that installs "recommended" Forge gives you a different build, so pick 47.4.13 by hand. Mojang's version file for 1.20.1 names Java 17; our Java version guide shows how to check and switch it.

How Much RAM a TFG Server Needs

The pack's own files give two heap sizes, and neither comes with a player count:

  • The server pack. start_server.sh and start_server.bat both run java -Xmx6024M -Xms1024M -jar minecraft_server.jar nogui. That jar is a small starter, Forge-Server-Starter, which reads -Xmx and -Xms from its own command line and starts the Forge server with them. So the heap is just under 6 GB.
  • The Docker file. TerraFirmaGreg-Modern-0.13.17-docker.yml sets MEMORY: 8G. In the itzg/minecraft-server image it uses, MEMORY sets both the starting and the maximum heap.

The heap is not the whole Java process. The image's documentation says these settings "only set the Java heap limits" and calls an extra 25% for memory outside the heap a general best practice. That puts the script's 6 GB heap at about 8 GB in total, and the Docker file's 8 GB heap at 10 GB or more. Java that runs past the memory a plan allows gets killed; our guide to exit code 137 shows how to spot it.

The TFG wiki's 6 to 8 GB is what players give the game on their own computers, not a server figure.

On our TerraFirmaGreg hosting page, the plans are sized from these same two files: 8GB runs the server pack as it ships, and 12GB is the size we suggest, with room for the Docker file's 8GB heap.

Get the Server Pack from GitHub

CurseForge lists no server pack for 0.13.17, and the pack's description points to GitHub for server packs. The 0.13.17 release there carries the server pack zip, the Docker file, and CurseForge, Modrinth and MultiMC versions of the pack.

The zip unpacks without a subfolder. Among its files are start_server.sh, start_server.bat, minecraft_server.jar (the starter) with its server_starter.conf, forge-auto-install.txt, server.properties, README.md and the mods, config, defaultconfigs and kubejs folders. Forge itself is not inside. forge-auto-install.txt names loaderVersion=47.4.13, and the starter downloads and installs that build on the first start, so the machine needs internet access then.

The starter in the pack is Forge-Server-Starter 3.5.7. Its author's changelog says only version 3.7.0, from September 2026, stopped creating and accepting eula.txt without explicit consent. The older version writes eula=true by itself, so read the Minecraft EULA before the first start: the script will not stop to ask.

Install a TFG Server on Linux

On Ubuntu 24.04, install Java 17 and unzip, then fetch and unpack the server pack:

sudo apt update
sudo apt install openjdk-17-jre-headless unzip tmux
java -version
mkdir -p ~/tfg && cd ~/tfg
curl -LO https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/download/0.13.17/TerraFirmaGreg-Modern-0.13.17-serverpack.zip
unzip TerraFirmaGreg-Modern-0.13.17-serverpack.zip
rm TerraFirmaGreg-Modern-0.13.17-serverpack.zip

If java -version shows another major version, choose 17 with sudo update-alternatives --config java.

To use the Docker file's 8 GB heap on a machine with 10 GB or more, change the script first:

sed -i 's/-Xmx6024M/-Xmx8G/' start_server.sh

Start the server inside tmux, so it keeps running after you log out:

tmux new -s tfg
bash start_server.sh

Detach with Ctrl+B and then D, and come back with tmux attach -t tfg. The first start installs Forge 47.4.13 and then generates the world. Type stop in the console to shut the server down cleanly.

If the machine uses ufw as its firewall, open the game port and the voice chat port. Allow SSH before you enable ufw, or you lock yourself out:

sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw allow 24454/udp
sudo ufw enable

Run It in Docker

The release's Docker file uses the itzg/minecraft-server image with TYPE: forge, VERSION: 1.20.1, FORGE_VERSION: 47.4.13 and MEMORY: 8G. It downloads the server pack from GitHub, maps 25565 and 24454:24454/udp, and keeps the server files in ./data. It also sets EULA: "true", so starting it accepts the EULA, and OVERRIDE_SERVER_PROPERTIES: "false", which keeps the pack's server.properties with its TFC world type.

mkdir -p ~/tfg-docker && cd ~/tfg-docker
curl -LO https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/download/0.13.17/TerraFirmaGreg-Modern-0.13.17-docker.yml
docker compose -f TerraFirmaGreg-Modern-0.13.17-docker.yml up -d
docker logs -f terrafirmagreg-modern

The file asks for itzg/minecraft-server:latest, which the image's documentation lists as Java 25 on 3 November 2026, while Mojang names Java 17 for 1.20.1. If the server does not come up, change the image line to itzg/minecraft-server:java17 and run up -d again. On a machine with less than 10 GB, lower MEMORY to 6G.

Set Up a TFG Server on a Hosting Panel

Many game panels start a server their own way instead of running start_server.sh. The route that matches the pack's files:

  1. Install Forge 1.20.1-47.4.13 from the panel, choosing that exact build.
  2. Unpack the server pack on your computer and upload its contents over SFTP, including mods, config, defaultconfigs, kubejs and the pack's server.properties.
  3. Select Java 17 in the startup settings, and set the heap so it leaves a couple of gigabytes of the plan free for Java itself.
  4. Start the server, accept the EULA in eula.txt if the panel has not, and start again.

Do step 2 before the world exists: level-type in server.properties sets the preset for the generated world, and the pack's file says level-type=tfc\:overworld. If the panel already generated a world, delete that world folder first.

Settings Worth Changing Before Players Spread Out

Forge copies the files in defaultconfigs into world/serverconfig when the world is created, so edit defaultconfigs before the first start and world/serverconfig after it, then restart.

Torches and candles (tfc-server.toml). torchTicks = 72000 and candleTicks = 744000. The file's own note says 1000 ticks is one in-game hour, or 50 seconds, so a torch goes out after about an hour of real time and a candle after about ten hours. The pack's README suggests longer times when players have separate bases; permanent light comes with the LV tier.

Food decay (tfc-server.toml). The pack sets foodDecayModifier = 0.5, where 1.0 is the TFC default and larger values mean food spoils sooner. The TFG team recommends 1.0 for small groups that share a base and 0.25 for larger servers with players in many time zones.

Quest announcements (tfg-server.toml). Since 0.13.16, enableQuestBroadcasts announces certain completed quests in chat. It ships as false.

Chunk Claims, Force Loading and Ranks

TFG runs claims through FTB Chunks with per-player limits from FTB Ranks. The pack's ranks.snbt gives a new player 10 claimed and 2 force-loaded chunks, and 50 and 8 after one day of playtime. Team members add their allowances together (party_limit_mode: "sum").

With force_load_mode: "default", force-loaded chunks only stay loaded with nobody online when someone in the team has the ftbchunks.chunk_load_offline permission. The normal ranks lack it; the pack's vip rank (200 claims, 12 force-loaded chunks) and operators have it. To keep one team's machines running overnight, give one of its players that rank from the console:

ftbranks add PlayerName vip

After the first start the ranks file lives in world/serverconfig/ftbranks/ranks.snbt; edit it there and run ftbranks reload. The README suggests sizing force-load allowances to how powerful your server is. A team that nobody logs in to for 30 days loses its force-loading (max_idle_days_before_unforce).

Backups the Pack Makes by Itself

TFG ships FTB Backups 2, switched on in config/ftbbackups2.json. Once a day at 10:15 ("backup_cron": "0 15 10 * * ? *") in the server's time zone, which is UTC when you use the pack's start script (timezone=UTC in server_starter.conf), and only if players have been online since the last one, it writes a ZIP backup in the server folder and keeps the newest 3. For hourly backups the README gives "0 0 0/1 1/1 * ? *".

Check one more line: "minimum_free_space": 51200 makes the mod abort a backup that would leave less than 51,200 MB (50 GB) free on the disk. On a smaller disk, lower that number or the daily backup may never be written. The ZIPs sit on the server's own disk, so copy one elsewhere before every update.

Pre-generate the World with Chunky

The pack includes Chunky, and the pack's ranks allow its command only for operators. Before your players join, generate the area around spawn from the console:

chunky spawn
chunky radius 1000
chunky start

chunky progress shows how far it is, and chunky pause and chunky continue stop and resume it. Run it while nobody is playing, since it keeps the server busy until it finishes. A radius of 1,000 blocks covers a 2,000 by 2,000 block square and adds to the world's size on disk.

Voice Chat

TFG ships Simple Voice Chat, which sends audio over UDP on port 24454 (config/voicechat/voicechat-server.properties, port=24454). On your own server, open that port in the firewall as shown above. On a hosting panel, add a second port allocation, set port= to that number, leave voice_host empty and restart.

Players and Updates

Players install the same version as the server; CurseForge has carried 0.13.17 as a release since 27 October 2026. The TFG wiki says a mod mismatch error, even when the versions look the same, usually means a player did not update cleanly, and its fix is a clean reinstall of the pack in the launcher.

For the server, the wiki's update steps are:

  1. Download and unpack the new server pack into a separate folder.
  2. Copy your world folder and, if you want them, your backups into it, plus server files such as the whitelist.
  3. Start the new folder, check that everything works, and only then delete the old one.

Your edits in world/serverconfig travel with the world, and since Forge only copies from defaultconfigs when a world has no file yet, a new release does not overwrite them. Worlds from 0.12 are safe to move to 0.13, but the reworked Beneath has to be wiped: after a backup, and once everyone has left the Beneath with what they want to keep, delete world/DIM-1 (the wiki: "The process is the same for servers"). If anyone used a Fluid Drilling Rig or the fluid mode of an HV or LuV Prospector there, also delete world/data/gtceu_bedrock_fluid.dat. Our modpack update guide covers backups and rollbacks in more depth.

FAQ

Where do I download the TFG server pack? From the GitHub releases of TerraFirmaGreg-Team/Modpack-Modern, as TerraFirmaGreg-Modern-0.13.17-serverpack.zip. The CurseForge file for 0.13.17 has no server pack.

How much RAM does a TFG server need? The server pack's script sets a heap of just under 6 GB and the TFG Docker file sets 8 GB. With memory for Java outside the heap, that is about 8 GB in total for the script as it ships and 10 to 12 GB for the 8 GB heap. The team publishes no player counts.

Which Java version does TerraFirmaGreg need? Java 17. TerraFirmaGreg-Modern runs on Minecraft 1.20.1, and Mojang's version file for 1.20.1 names Java 17.

Why does my TFG server have a normal Minecraft world? The world was generated before the pack's files, with level-type=tfc\:overworld in server.properties, were in place, usually because a panel started the server once on install. Back it up, delete the world folder, put the pack's server.properties in place and start again.

Is TerraFirmaGreg Vintage the same pack? No. TerraFirmaGreg-Vintage is the older pack on Minecraft 1.12.2, with its last file, 4.5.12, from January 2025. TerraFirmaGreg-Modern is the 1.20.1 pack this guide covers.

Sources

All opened on 3 November 2026 and rechecked on 4 November 2026: