<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AServer.jar</id>
	<title>Minecraft:Server.jar - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AServer.jar"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Server.jar&amp;action=history"/>
	<updated>2026-04-09T17:20:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Server.jar&amp;diff=70295&amp;oldid=prev</id>
		<title>SyncBot: Remove broken links to missing pages</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Server.jar&amp;diff=70295&amp;oldid=prev"/>
		<updated>2026-04-09T16:03:44Z</updated>

		<summary type="html">&lt;p&gt;Remove broken links to missing pages&lt;/p&gt;
&lt;a href=&quot;https://wiki.sasgaming.net/index.php?title=Minecraft:Server.jar&amp;amp;diff=70295&amp;amp;oldid=67187&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Server.jar&amp;diff=67187&amp;oldid=prev</id>
		<title>SyncBot: Sync: new page from Minecraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Server.jar&amp;diff=67187&amp;oldid=prev"/>
		<updated>2026-04-09T11:24:52Z</updated>

		<summary type="html">&lt;p&gt;Sync: new page from Minecraft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Lowercase title}}&lt;br /&gt;
{{Exclusive|Java}}&lt;br /&gt;
{{Infobox program&lt;br /&gt;
| group1 = GUI&lt;br /&gt;
| group2 = Command line&lt;br /&gt;
| 1-1 = Server.jar GUI.png&lt;br /&gt;
| 2-1 = Server.jar CLI.png&lt;br /&gt;
| title = server.jar&lt;br /&gt;
| author =&lt;br /&gt;
* [[File:Mojang Studios logo.svg|x20px|link=Mojang Studios]] [[Minecraft:Mojang Studios]]&lt;br /&gt;
| platform = {{OS|win|mac|lin}} and other platforms that support running a JVM&lt;br /&gt;
| programming language = {{OS|java}} {{w|Java (programming language)|Java}}&lt;br /&gt;
| price = Free&lt;br /&gt;
| license = [https://www.minecraft.net/en-us/eula EULA]&lt;br /&gt;
| website = https://www.minecraft.net/en-us/download/server&lt;br /&gt;
| source available = Partial&lt;br /&gt;
| size =&lt;br /&gt;
* Only JAR: ≈ 54 MiB&lt;br /&gt;
* With initial generated data: ≈ 114 MiB&lt;br /&gt;
| version =&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Release&amp;#039;&amp;#039;&amp;#039;: {{v|java}}&lt;br /&gt;
{{#if: {{v|java-snap}} | * &amp;#039;&amp;#039;&amp;#039;Snapshot&amp;#039;&amp;#039;&amp;#039;: {{v|java-snap}} }}&lt;br /&gt;
| date = June 8, 2009&lt;br /&gt;
| customlinks =&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Downloads&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{v|java|nolink=yes}}|includepage={Infobox version}:clienthash}}/server.jar Release {{v|java|nolink=yes}}]&lt;br /&gt;
* [https://piston-data.mojang.com/v1/objects/{{#dpl:title=Java Edition {{v|java-snap|nolink=yes}}|includepage={Infobox version}:clienthash}}/server.jar {{ucfirst:{{v|java-type|nolink=1}}}} {{v|java-snap|nolink=yes}}]&lt;br /&gt;
}}&lt;br /&gt;
{{relevant tutorial|Setting up a Java Edition server}}&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;server.jar&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; is an executable {{w|JAR (file format)|JAR}} file containing the program and resources of the {{JE}} server software. It is distributed by [[Minecraft:Mojang Studios]] and can be downloaded free of charge.&lt;br /&gt;
&lt;br /&gt;
Code is shared between &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[Minecraft:client.jar]]&amp;lt;/code&amp;gt;, meaning they are identical in [[Minecraft:gameplay]]. The &amp;lt;code&amp;gt;client.jar&amp;lt;/code&amp;gt; file provides an internal server used for playing [[Minecraft:singleplayer]] worlds, but &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; does not provide a client.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; file can be opened with a {{w|file archiving program}} that supports ZIP files.&lt;br /&gt;
&lt;br /&gt;
When ran, libraries from the contained &amp;lt;code&amp;gt;META-INF&amp;lt;/code&amp;gt; directory are extracted into the working directory. This behavior can further be configured by a different main class available on the JAR file, see {{slink||Bundler options}}.&lt;br /&gt;
&lt;br /&gt;
The archive also contains a &amp;lt;code&amp;gt;[[Minecraft:version.json]]&amp;lt;/code&amp;gt; file, which provides version information.&lt;br /&gt;
&lt;br /&gt;
== Directory structure ==&lt;br /&gt;
&lt;br /&gt;
Upon running the &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt;, the program generates the following files and directories:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
* {{File|directory|&amp;#039;&amp;#039;working directory&amp;#039;&amp;#039;}}: The working directory of the server software process.&lt;br /&gt;
** {{File|directory|libraries}}: contains external libraries and JAR files required by the server software.&lt;br /&gt;
** {{File|archive|versions/&amp;#039;&amp;#039;&amp;lt;version&amp;gt;&amp;#039;&amp;#039;/server-&amp;#039;&amp;#039;&amp;lt;version&amp;gt;&amp;#039;&amp;#039;.jar}}: a versioned JAR file that contains the primary code and resources for the server (similar to &amp;lt;code&amp;gt;[[Minecraft:client.jar]]&amp;lt;/code&amp;gt;, but without client-related files, e.g. rendering code).&lt;br /&gt;
** {{File|directory|logs}}: Contains logs.&lt;br /&gt;
*** {{File|file|&amp;#039;&amp;#039;YYYY&amp;#039;&amp;#039;-&amp;#039;&amp;#039;MM&amp;#039;&amp;#039;-&amp;#039;&amp;#039;DD&amp;#039;&amp;#039;-&amp;#039;&amp;#039;ordinal&amp;#039;&amp;#039;.log.gz}}: Rotated older log. There might be any number of these files depending on how many times the log was rotated. Same format as latest.log, but compressed with gzip.&lt;br /&gt;
*** {{File|file|latest.log}}: The most recent log. UTF-8 format, CRLF line endings on Windows, LF line endings on Linux and macOS.&lt;br /&gt;
** {{File|directory|world}}: [[Minecraft:Java Edition level format|World data]] directory. Can have different name or location if the default value in server.properties is changed. Not generated until the EULA is accepted.&lt;br /&gt;
** {{File|file|banned-ips.json}}: Specifies IP addresses that are banned from the server. Not generated until the EULA is accepted.&lt;br /&gt;
** {{File|file|banned-players.json}}: Specifies players that are banned from the server. Not generated until the EULA is accepted.&lt;br /&gt;
** {{File|file|eula.txt}}: Contains information about the EULA applying to the server software, as well as specifying whether the user has accepted it.&lt;br /&gt;
** {{File|file|[[Minecraft:ops.json]]}}: Specifies [[Minecraft:operator]] status of players. Not generated until the EULA is accepted.&lt;br /&gt;
** {{File|file|server-icon.png}}: Server icon that appears on the server list. Not generated automatically. Must be in PNG format and 64x64 pixels.&lt;br /&gt;
** {{File|archive|server.jar}}: Primary server software JAR file. Can be located elsewhere, but usually placed in the same directory as the rest of the server data.&lt;br /&gt;
** {{File|file|[[Minecraft:server.properties]]}}: Preset configuration file used to configure most of the server&amp;#039;s functionality.&lt;br /&gt;
** {{File|file|[[Minecraft:whitelist.json]]}}: Specifies players that are whitelisted. Not generated until the EULA is accepted.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files are generated on the first run if not mentioned otherwise.&lt;br /&gt;
&lt;br /&gt;
=== eula.txt ===&lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;eula.txt&amp;lt;/code&amp;gt; file does not exist on startup, it is generated with default content and the program exits. The default content is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;properties&amp;quot;&amp;gt;&lt;br /&gt;
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).&lt;br /&gt;
#[Generation time]&lt;br /&gt;
eula=false&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Much like &amp;lt;code&amp;gt;server.properties&amp;lt;/code&amp;gt;, it follows the {{w|.properties}} syntax. &amp;lt;code&amp;gt;eula&amp;lt;/code&amp;gt; has to be set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; for the server to start.&lt;br /&gt;
&lt;br /&gt;
== Interface ==&lt;br /&gt;
&lt;br /&gt;
The server software has both a command-line interface and a basic {{w|graphical user interface}}.&lt;br /&gt;
&lt;br /&gt;
The command-line interface outputs logs to the {{w|standard output}}, and accepts newline delimited input from the {{w|standard input}}, which is executed by the server as [[Minecraft:commands]] (similar to being executed by [[Minecraft:command block]]s, but with the highest privilege level). Running a command in the interface does not require &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; at the beginning of the line.&lt;br /&gt;
&lt;br /&gt;
The GUI appears if the platform supports windowing and the &amp;lt;code&amp;gt;--nogui&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;nogui&amp;lt;/code&amp;gt; option is not provided. It is written in {{w|Abstract Window Toolkit}} (AWT), and it features three sections:&lt;br /&gt;
* &amp;quot;Stats&amp;quot; which displays memory usage as a graph and as a value, and average tick time,&lt;br /&gt;
* &amp;quot;Players&amp;quot; which displays a player list, and&lt;br /&gt;
* &amp;quot;Log and chat&amp;quot; which displays logs and serves the same function as the command-line interface.&lt;br /&gt;
&lt;br /&gt;
== Command-line options ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;command-line-options&amp;quot;/&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--bonusChest&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Enable the [[Minecraft:bonus chest]] when generating a world for the first time.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--demo&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Enable [[Minecraft:demo mode]]. Shows the players a demo pop-up, and players cannot break or place blocks after the 5 in-game days demo time has expired, even if they have purchased the game.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--eraseCache&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Erase cached data like light levels and biome data, which must then be regenerated. Equivalent to the &amp;quot;Erase Cached Data&amp;quot; option of &amp;quot;Optimize World&amp;quot; in [[Minecraft:World Options]] on the client.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--forceUpgrade&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Optimize the world by upgrading the level data to the [[Minecraft:Java Edition level format|latest format]]. Once the world is optimized, it is no longer compatible with older level formats. Equivalent to the &amp;quot;Optimize World&amp;quot; option in [[Minecraft:World Options]] on the client.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--help&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Print available options without starting the server.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--initSettings&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Initialize &amp;lt;code&amp;gt;[[Minecraft:server.properties]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eula.txt&amp;lt;/code&amp;gt; without starting the server. If either file is missing, it creates them with default values.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--jfrProfile&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Initialize {{w|Java Flight Recorder}} profiler for the server. While the server is running, the profiler can be opened using an external tool or software, such as [https://visualvm.github.io/ VisualVM]. It enables monitoring of the server&amp;#039;s CPU, memory, and threads usage. Additionally, it saves a &amp;lt;code&amp;gt;jfr&amp;lt;/code&amp;gt; file on the &amp;lt;code&amp;gt;debug&amp;lt;/code&amp;gt; folder of the &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt;, containing JVM and operating system events, and several &amp;#039;&amp;#039;Minecraft&amp;#039;&amp;#039;-related custom events. Further information on {{slink|Commands/jfr|Usage}}.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--nogui&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Disable the [[#Interface|GUI]] when launching the server.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;nogui&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Legacy alias of &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--nogui&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--pidFile&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;amp;lt;path&amp;amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Create a text file at &amp;lt;code&amp;gt;&amp;#039;&amp;#039;path&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; containing the {{w|process identifier}} (PID) of the server process while it&amp;#039;s running.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--port&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;amp;lt;port&amp;amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Specify the TCP port to use instead of the value in &amp;lt;code&amp;gt;server.properties&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--recreateRegionFiles&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Optimize the world similar to &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--forceUpgrade&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;, but also rewrites all the chunks independently of whether they have been upgraded, creating fresh and defragmented region files.&amp;lt;ref&amp;gt;{{Cite |url=https://www.minecraft.net/en-us/article/minecraft-snapshot-24w04a |title=Minecraft Snapshot 24w04a |section=Region file compression algorithm |author=Java Team |website=[[Minecraft:Minecraft.net]] |date=January 24, 2024}}&amp;lt;/ref&amp;gt; Using this option after changing &amp;lt;code&amp;gt;region-file-compression&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;server.properties&amp;lt;/code&amp;gt; will recompress all region files in the new format.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--safeMode&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Ensure the server only loads the vanilla [[Minecraft:data pack]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--serverId&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;amp;lt;id&amp;amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Specify the &amp;quot;Server Id&amp;quot; string used in the [[Minecraft:crash]] report details.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--universe&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;amp;lt;path&amp;amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Specify the path to the directory &amp;lt;code&amp;gt;level-name&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;server.properties&amp;lt;/code&amp;gt; is relative to. If empty, it is relative to the working directory.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;--world&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;amp;lt;name&amp;amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; || Specify the world name to use instead of the &amp;lt;code&amp;gt;level-name&amp;lt;/code&amp;gt; value in &amp;lt;code&amp;gt;server.properties&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;command-line-options&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bundler options ==&lt;br /&gt;
The &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; introduces an extra layer of code (called the &amp;quot;bundler&amp;quot;) for extracting runtime libraries. This allows the main class to be specified at startup using system properties.&lt;br /&gt;
&lt;br /&gt;
The following system properties can change the startup behavior:&amp;lt;ref&amp;gt;{{Cite |url=https://www.minecraft.net/en-us/article/minecraft-snapshot-21w39a |title=Minecraft Snapshot 21w39a |section=Server bundling |website=[[Minecraft:Minecraft.net]] |author=Adrian Östergård |date=September 29, 2021}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bundlerMainClass&amp;lt;/code&amp;gt;: Specifies the main class to start. If not specified, the main class defined on &amp;lt;code&amp;gt;META-INF/main-class&amp;lt;/code&amp;gt; file in the &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; (usually &amp;lt;code&amp;gt;net.minecraft.server.Main&amp;lt;/code&amp;gt;) is used instead. There are three available main classes:&lt;br /&gt;
** &amp;lt;code&amp;gt;net.minecraft.server.Main&amp;lt;/code&amp;gt;: Used for launching the &amp;#039;&amp;#039;Minecraft&amp;#039;&amp;#039; server.&lt;br /&gt;
** &amp;lt;code&amp;gt;net.minecraft.data.Main&amp;lt;/code&amp;gt;: Used as entry point for {{tpl|MCW:Projects/wiki.vg merge/Data Generators|data generators|vg}}.&lt;br /&gt;
** &amp;lt;code&amp;gt;net.minecraft.gametest.Main&amp;lt;/code&amp;gt;: Used as an entry point for the [[Minecraft:GameTest]] framework, which provides its own command-line options.&amp;lt;ref&amp;gt;{{cite |url=https://www.minecraft.net/en-us/article/minecraft-snapshot-25w03a |title=Minecraft Snapshot 25w03a |section=Technical Changes |website=[[Minecraft:Minecraft.net]] |date=January 15, 2025}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
** &amp;#039;&amp;#039;Unspecified&amp;#039;&amp;#039;: If no option is specified or an empty blank string (&amp;lt;code&amp;gt;&amp;quot;&amp;quot;&amp;lt;/code&amp;gt;) is entered, it results in &amp;lt;code&amp;gt;Empty main class specified, exiting&amp;lt;/code&amp;gt;.&lt;br /&gt;
: Before executing the main class, the JAR file automatically extracts {{cd|libraries}} and {{cd|versions}} folders, even for &amp;#039;&amp;#039;unspecified&amp;#039;&amp;#039; option.&lt;br /&gt;
* &amp;lt;code&amp;gt;bundlerRepoDir&amp;lt;/code&amp;gt;: Specifies the working directory for the resources extraction. If not specified, the current working directory is used instead.&lt;br /&gt;
&lt;br /&gt;
System properties are specified like &amp;lt;code&amp;gt;-D&amp;#039;&amp;#039;&amp;lt;property&amp;gt;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;, which &amp;#039;&amp;#039;property&amp;#039;&amp;#039; is the name defined above. They must be specified for the JVM program in the command-line, placed before &amp;lt;code&amp;gt;-jar&amp;lt;/code&amp;gt; parameter (otherwise it will be specified for the &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; file, which is invalid), e.g. {{Nowrap|1=&amp;lt;code&amp;gt;java -DbundlerMainClass=&amp;quot;net.minecraft.data.Main&amp;quot; -jar server.jar&amp;lt;/code&amp;gt;}} is a valid execution.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{For|general multiplayer server history|Multiplayer#History}}&lt;br /&gt;
{{See also|Server.properties#History}}&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|java classic}}&lt;br /&gt;
|{{HistoryLine||server 1.2|The earliest archived version.&lt;br /&gt;
|[[Minecraft:Server.properties]] options at this time include {{cd|port}}, {{cd|server-name}}, {{cd|max-players}}, {{cd|motd}}, {{cd|public}}.}}&lt;br /&gt;
|{{HistoryLine|java alpha}}&lt;br /&gt;
|{{HistoryLine||1.0.15|&amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; was released to the public for [[Minecraft:Survival]] multiplayer server.}}&lt;br /&gt;
|{{HistoryLine|java edition}}&lt;br /&gt;
|{{HistoryLine||1.0.0|dev=Beta 1.9 Prerelease 4|Added {{cd|debug}}, {{cd|enable-query}}, {{cd|enable-rcon}}, {{cd|query.port}}, {{cd|rcon.password}} and {{cd|rcon.port}}. This marked the first introduction of [[Minecraft:Query]] and [[Minecraft:Remote console]] (RCON) protocols.}}&lt;br /&gt;
|{{HistoryLine||1.0.1|&amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; was updated in a server-only release.&lt;br /&gt;
|Fixed &amp;lt;code&amp;gt;Invalid server key&amp;lt;/code&amp;gt; error when logging in.&lt;br /&gt;
|Fixed &amp;lt;code&amp;gt;Null pointer exception&amp;lt;/code&amp;gt; error when logging in.}}&lt;br /&gt;
|{{HistoryLine||1.3.1|dev=12w18a|The server logic was separated from the client, making singleplayer effectively run an internal server.&lt;br /&gt;
|Added command-line arguments: &amp;lt;code&amp;gt;--demo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--port&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--singleplayer&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--universe&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--world&amp;lt;/code&amp;gt;. The legacy &amp;lt;code&amp;gt;nogui&amp;lt;/code&amp;gt; argument remained functional.}}&lt;br /&gt;
|{{HistoryLine|||dev=12w19a|Added the &amp;lt;code&amp;gt;--bonusChest&amp;lt;/code&amp;gt; command-line argument.}}&lt;br /&gt;
|{{HistoryLine|||dev=12w21a|Removed &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; dependency in singleplayer.}}&lt;br /&gt;
|{{HistoryLine||1.16|dev=20w20b|The dedicated server main class was changed from &amp;lt;code&amp;gt;net.minecraft.server.MinecraftServer&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;net.minecraft.server.Main&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
|{{HistoryLine|||dev=20w22a|Added the &amp;lt;code&amp;gt;--safeMode&amp;lt;/code&amp;gt; command-line argument.}}&lt;br /&gt;
|{{HistoryLine||1.18|dev=21w37a|Added the &amp;lt;code&amp;gt;--jfrProfile&amp;lt;/code&amp;gt; command-line argument.}}&lt;br /&gt;
|{{HistoryLine|||dev=21w39a|Changed the file structure of &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt;. Individual libraries are now bundled separately instead of being merged into a single archive.&lt;br /&gt;
|Server startup now unpacks libraries into a directory configured by the &amp;lt;code&amp;gt;bundlerRepoDir&amp;lt;/code&amp;gt; property (defaults to the working directory).&lt;br /&gt;
|The main class can be changed using the &amp;lt;code&amp;gt;bundlerMainClass&amp;lt;/code&amp;gt; property.}}&lt;br /&gt;
|{{HistoryLine|||dev=1.18-pre3|Starting &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt; with an empty &amp;lt;code&amp;gt;bundlerMainClass&amp;lt;/code&amp;gt; property now validates and extracts files, then exits.}}&lt;br /&gt;
|{{HistoryLine||1.20|dev=23w06a|Added the &amp;lt;code&amp;gt;--pidFile&amp;lt;/code&amp;gt; command-line argument.}}&lt;br /&gt;
|{{HistoryLine||1.20.2|dev=23w31a|Removed the &amp;lt;code&amp;gt;--singleplayer&amp;lt;/code&amp;gt; command-line argument.}}&lt;br /&gt;
|{{HistoryLine||1.20.5|dev=24w04a|Added the &amp;lt;code&amp;gt;--recreateRegionFiles&amp;lt;/code&amp;gt; command-line argument.&lt;br /&gt;
|Added the &amp;lt;code&amp;gt;region-file-compression&amp;lt;/code&amp;gt; setting to [[Minecraft:server.properties]].}}&lt;br /&gt;
|{{HistoryLine||1.21.4|dev=24w45a|The data generator entry point (&amp;lt;code&amp;gt;net.minecraft.data.Main&amp;lt;/code&amp;gt;) no longer generates the assets directory.&lt;br /&gt;
|The &amp;lt;code&amp;gt;--client&amp;lt;/code&amp;gt; command-line option was removed for the data generator entry point.}}&lt;br /&gt;
|{{HistoryLine||1.21.5|dev=25w03a|Added the &amp;lt;code&amp;gt;net.minecraft.gametest.Main&amp;lt;/code&amp;gt; entry point for running automated game tests from &amp;lt;code&amp;gt;server.jar&amp;lt;/code&amp;gt;.&lt;br /&gt;
|Added associated command-line arguments for the gametest entry point: &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--packs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--report&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--tests&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--universe&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--verify&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
|{{HistoryLine||1.21.9|dev=25w35a|Added the [[Minecraft:Minecraft Server Management Protocol]] (MSMP).}}&lt;br /&gt;
|{{HistoryLine|||dev=25w37a|MSMP clients must authenticate to access the API.|MSMP TLS is enabled by default.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
{{Issue list|server.jar|server jar|java server|projects=mc}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Minecraft:Bedrock Dedicated Server]], the server software used to host a {{BE}} server.&lt;br /&gt;
* [[Minecraft:client.jar]], the program and resources for the &amp;#039;&amp;#039;[[Minecraft: Java Edition]]&amp;#039;&amp;#039; game.&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox Java Edition technical|general}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:server.jar]]&lt;br /&gt;
[[Minecraft:fr:server.jar]]&lt;br /&gt;
[[Minecraft:ja:Server.jar]]&lt;br /&gt;
[[Minecraft:pt:Server.jar]]&lt;br /&gt;
[[Minecraft:zh:服务端核心文件]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>