// crash guide
Minecraft server crash: EULA not accepted
Your server didn't really crash. It stopped on purpose, because Minecraft won't run a server until you accept Mojang's End User License Agreement. You accept it by changing one line in a file called eula.txt. Your mods are fine.
What the error looks like
The server starts, prints some lines, and shuts down before it loads a world. The console ends with this:
[12:00:01] [main/WARN]: Failed to load eula.txt
[12:00:01] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
The prefixes look a little different on Forge, NeoForge, Fabric and Quilt. The message text is the same on all of them, because the check is in Minecraft's own server code, not in the mod loader.
The Failed to load eula.txt line only shows up when the file is missing or can't be read. That's usually the very first start. The server then writes a new eula.txt with eula=false. On later starts you'll only see the "You need to agree" line.
Don't look in crash-reports/ for this one. It isn't a crash, so Minecraft doesn't write a crash report. The full output is in logs/latest.log in the server folder (Forge and NeoForge also write logs/debug.log). If you start the server by double-clicking a script on Windows and the window closes before you can read it, open logs/latest.log instead.
The file the server creates looks like this:
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Sun Oct 04 12:00:00 CDT 2026
eula=false
Older Minecraft versions link to account.mojang.com instead. Same file, same setting.
If the server can't write to its own folder, you'll also see Failed to save eula.txt followed by a Java exception. That's a permissions problem, covered below.
What it means
A Minecraft Java Edition server, modded or not, won't start until eula.txt contains eula=true. That line is how the person running the server agrees to the EULA. Minecraft writes the file with eula=false, so a fresh server always stops on its first start. That's normal. It isn't caused by a mod, your Java version, RAM, or your world.
If you already set eula=true and still get the message, one of two things is going on: the server is reading a different eula.txt than the one you edited, or it can't read the line you wrote. Both are covered below.
Common in these packs: every one. The check is in Minecraft itself, so it applies to every pack, from RLCraft on 1.12.2 to All the Mods 10 on 1.21.1, until eula.txt says eula=true.
How to fix it
- Read the EULA. The link is in the first line of
eula.txt(aka.ms/MinecraftEULA). Setting the value to true means you agree to it. - Find
eula.txtin the server's root folder. It sits next toserver.properties, themodsfolder and your start script or server jar. - Change
eula=falsetoeula=trueand save.- Pelican panel: open the Files tab, click
eula.txt, change the line and save. If the server's egg has the EULA feature turned on, the Console page also shows an accept-the-EULA prompt when this message appears. Accepting it setseula=truefor you. - Linux shell, from the server folder:
echo "eula=true" > eula.txt - Windows: open it in Notepad, change the line, and use Save (not Save As with a new name). Don't use
echohere. In Command Prompt,echo eula=true > eula.txtsaves a space aftertrue. In Windows PowerShell 5.1 it saves the file as UTF-16. The server reads both as false.
- Pelican panel: open the Files tab, click
- Start the server again. It reads
eula.txtonce at startup, so there's nothing else to reload.
You don't need to change the Startup tab, JVM flags, Java version or Docker image for this error.
Loader notes
- Forge 1.17 and newer, and NeoForge: the installer (
--installServer) doesn't createeula.txt. It appears after the first time you runrun.shorrun.bat. On Forge 1.16.5 and older you start theforge-<version>.jardirectly, andeula.txtis created in the folder you start it from. - Fabric and Quilt: the loader's launch jar starts Minecraft's own server code, so the EULA check runs exactly as it does in vanilla. The first start ends with this message. Edit
eula.txtand start the same launch jar again. - Modpack server files: some packs ship their own start script that asks you to accept the EULA in the terminal before it launches the server. Answer it, or set
eula=trueyourself first.
If it still says you need to agree
- Wrong folder. The server looks for
eula.txtin the folder it was started from, not where the jar lives. This happens when you start it with a full path from another folder (say,java -jar /home/you/server/server.jarfrom your home folder), from a shortcut with a different "Start in" folder, or from a service without a working directory set. If a neweula.txt,server.propertiesandlogsfolder keep appearing somewhere else, that's the cause. Go into the server folder before you start it. In a script, addcd /d "%~dp0"near the top of a.batfile, orcd "$(dirname "$0")"after the first line of a.shfile, so it always starts in its own folder. - It's really
eula.txt.txt. If you made the file yourself on Windows with file extensions hidden (say, New > Text Document, renamed toeula.txt), its real name has a second.txt. Turn on "File name extensions" in Explorer's View menu and rename it. - The value isn't exactly
true. Case doesn't matter (TRUEworks) and spaces around the=are fine. A trailing space, quotes, a period oryesall count as false. Keep it aseula=trueon its own line. - Hidden bytes. If you wrote the file from scratch and
eula=trueis the first line, an editor that saves as "UTF-8 with BOM" puts invisible bytes in front of it and the server won't find the setting. Save as plain UTF-8, or keep the comment lines above it. Failed to save eula.txt. The server can't write to its own folder. On Linux, the user that runs the server needs write access to the folder (usually by owning it). Also check the disk isn't full.- Docker (itzg/minecraft-server image). That image checks the
EULAenvironment variable and writeseula.txtitself. Set-e EULA=TRUE(orEULA: "TRUE"in docker-compose) instead of editing the file. - The
-Dcom.mojang.eula.agree=trueflag. Some guides suggest it. It's a Spigot feature that Paper kept, and vanilla Minecraft doesn't read it. Don't rely on it for a Forge, NeoForge, Fabric or Quilt server. Useeula.txt.
How to check it's fixed
- Start the server and watch the console. The "You need to agree" line is gone and the server keeps going until you see
Preparing level "world". - Startup finishes with a line like
Done (23.512s)! For help, type "help". - A world folder appears (named by
level-nameinserver.properties), andeula.txtstill sayseula=true. - If the server now stops with a different error, that's a separate problem. A first start often turns up one of the errors in the guides below.
Paste your log into the free crash log analyzer. It checks your log against known errors, including this one, and tells you what to change.
Related crash guides
Modded hosting is relaunching.
DSN hosts Forge, NeoForge, Fabric and Quilt servers, with one-click installers for CurseForge and Modrinth modpacks and a file manager for edits like this one. You accept the EULA yourself, the first time your server starts. We're moving DSN Servers to new hardware, and ordering is closed until then. Join the launch list and we'll email you when servers open.