# Embedded or Packs Server?

> Most servers never need Packs Server. Here is what it does, and when it's worth setting up.

Source: https://oasis-protection.com/docs/guides/embedded-or-server/

Oasis keeps your history in Packs, its own storage engine. Packs can run in two ways:

* **Packs Embedded** runs inside your Minecraft server. It’s the default, and there’s nothing to set up.
* **Packs Server** runs as a separate program next to your Minecraft server, and Oasis talks to it.

## You don’t need Packs Server

A lot of people assume the separate server is the “real” option and the built-in one is a toy. With most logging plugins, that’s a fair guess. Their built-in SQLite storage is there so you can drop the plugin in and get going, and once your server gets busy, everyone tells you to move to MySQL because lookups and rollbacks have become painfully slow.

Oasis doesn’t work like that. We built Packs Embedded first, and we tested Oasis on it before anything else. It’s the same engine as Packs Server, running the same code. Most servers can run Packs Embedded forever, and that includes busy ones.

## What Packs Server is for

This isn’t a toy against the real thing. Packs Embedded is a beast. Packs Server is the same beast with a home of its own.

With Packs Embedded, Oasis shares your server’s memory and CPU. Saving history, answering lookups and preparing rollbacks all happen in the same process as the game. Oasis does that work in the background and never on the main thread, but it still shares the machine with Minecraft, so it has to stay polite and leave the game room. On most servers there’s plenty of room for it.

Packs Server moves that work into a program of its own, with its own memory and its own threads. Two things get better:

* **Saving keeps up more easily.** Oasis writes new history to a journal first, then packs it into its long-term files. That packing is called sealing. On Packs Server, sealing never competes with the game for CPU or memory, so it keeps pace even when your server is at its busiest.
* **Memory cleanup gets out of the game’s way.** Packs Server always runs on Java 25 with the ZGC garbage collector, which cleans up memory without long pauses. Most Minecraft servers run G1, Java’s default and the one Aikar’s flags use, and you’d have to switch your whole game server to get ZGC. Packs Server sets it up for you, and its cleanups never pause your game.

The result is more breathing room for Minecraft and for every other plugin you run.

It also unlocks **turbo** rollbacks. When a rollback or restore covers more than 2,000 chunks (you can change that number), Oasis offers a **Confirm with turbo** button. Turbo moves players out of the area and lets Packs Server write the repaired chunks while nobody is using them, so your game server does far less of the work. That’s handy after a huge grief on a busy server.

So Packs Server is worth it when:

* your server is busy and every millisecond of the tick already counts,
* you run lots of heavy plugins that all want CPU time and memory,
* you often roll back huge areas and want turbo.

If none of that sounds like your server, stay on Packs Embedded. You lose nothing.

## Lagging? Check FastAsyncWorldEdit first

If your server stutters during big WorldEdit jobs, Packs Server usually isn’t the fix. A single FastAsyncWorldEdit setting matters far more.

FAWE has a setting called `max-memory-percent`, and it ships at 95. At that level, a big edit can fill almost all of your server’s memory before FAWE lets go of any of it. Java then spends its time cleaning up memory instead of running your game. On one of our test servers, a single large edit caused 134 long memory cleanups in two minutes, and TPS fell to 12. Lowering the setting made the stall go away.

Oasis can check this for you:

```plaintext
/oasis fawe tune
```

It looks at how your server’s Java is set up and suggests a value: 75 if you use Aikar’s flags, 85 if you use Java’s defaults. Run `/oasis fawe tune confirm` to apply it. If you’d rather do it by hand, change `max-memory-percent` in `plugins/FastAsyncWorldEdit/config.yml`.

On most laggy servers, this one change does more than a move to Packs Server. It matters most on Packs Embedded, because there Oasis and FAWE share the same memory.

## You can switch later

Nothing here is permanent. If you outgrow Packs Embedded, set up Packs Server, change a few lines in Oasis’s config, restart, and run `/oasis move` to bring your history across. You can move back the same way. After a move, Oasis keeps the old store for 7 days under a new name, and then deletes it.

Ready to set it up? See [Set up Packs Server](/docs/packs-server/setup/).
