More actions
Project Zomboid > Multiplayer > Startup parameters
Project Zomboid has customizable startup parameters that are to override the default options used by the launcher, JVM, and game. JVM arguments must be provided first and end with --
even if there are no game arguments. Game arguments can be passed to the launcher because they are forwarded to the game itself.
- Create shortcut
- Navigate to the game folder via right-clicking the game in the Steam Library > Manage > Browse local files.
- Create a shortcut of the game launcher
ProjectZomboid<32/64>.exe
. - Add the JVM arguments to the Target field.
Example: "C:\ProjectZomboid64.exe" -Xmx1024m -Xms1024m -- -nosteam
- Steam application
- Right-click the game in the Steam Library > Properties.
- Add desired options under General > LAUNCH OPTIONS.
- StartServer64.bat Parameters
- Open the
StartServer64.bat
script with a text editor. - Add any JVM arguments after the
-Xmx
line in the script. - Add any game parameters after the
%1 %2
text inside the script, which is at the end of the file before PAUSE.
Examples:
-Xmx16g -Duser.home=C:\Zomboid
%1 %2 -nosteam -servername MySecondServer -adminpassword Password123
Game arguments
Client & server
Arguments | Description | Example |
---|---|---|
-cachedir=<String Path>
|
Sets the absolute path for the game's cache directory. | -cachedir="C:\Zomboid"
|
-nosteam
|
This is equal to using the -Dzomboid.steam JVM property.
|
Client
Arguments | Description | Example |
---|---|---|
-safemode
|
Launches the game with reduced resolution, texture compression, 1x tile scale, and 1x texture scale. Disables the WeatherShader and FBO support. No FBO means that offscreen rendering will not work! The game will enable safe mode if it fails to create a framebuffer object. | |
-nosound
|
Disables the game audio. This has the side effect of disabling some aspects of the voice chat. | |
-aitest
|
Enables the AI testing mode. It has been neglected and isn't used anywhere but to set IsoGameCharacter.isNPC. | |
-novoip
|
Disables the VoiceManager from starting, which controls in-game voice chat. | |
-debug
|
Launches the game in debug mode. Makes the CoopMaster coop server use debug mode. | |
-debuglog=<String DebugType[]>
|
Enables certain filters in the console log. Takes in a comma-separated list of DebugType values. Since the client doesn't have -disablelog , this allows us to specify whether to enable or disable the filter.
|
-debuglog=All -debuglog=Network,-Sound
|
+connect <String IPv4:Port>
|
This is equivalent to using the -Dargs.server.connect JVM property.
|
+connect 127.0.0.1:16261
|
+password <String Password>
|
This is equivalent to using the -Dargs.server.password JVM property.
|
+password ServersPassword
|
-debugtranslation
|
Enables the debug mode for the Translator. Writes possible translation issues to cachedir/translationProblems.txt and allows for reloading translation files while holding F12 in-game.
|
|
-modfolders <String Folder[]>
|
Controls where mods load from and their load order. There are only 3 possible folders. Any folder can be unspecified to disable the game from loading mods in that directory, and rearranged to change the load order of the mods. | -modfolders workshop,steam,mods -modfolders workshop,steam
|
Server
Arguments | Description | Example |
---|---|---|
-coop
|
Runs a coop server instead of a dedicated server. Disables the default admin from being accessible. | |
-disablelog=<String DebugType[]>
|
Disables certain filters in the console log. Takes in a comma-separated list of DebugType values. | -disablelog=All -disablelog=Network,Sound
|
-debuglog=<String DebugType[]>
|
Enables certain filters in the console log. Takes in a comma-separated list of DebugType values. | -debuglog=All -debuglog=Network,Sound
|
-adminusername <String Username>
|
Uses a different username for the default admin user when creating a server. It doesn't remove the previous default admin user if there is one. | -adminusername BobTheAdmin75
|
-adminpassword <String Password>
|
Set the default admin user's password automatically, bypassing the prompt if the default admin user is not found. | -adminpassword Some3ReallyLongPassword14
|
-ip <String IPv4>
|
Forces the server to bind to a specific IP address. | -ip 123.45.678.9
|
-gui
|
Launches the server GUI alongside the console. Another neglected argument that is unfinished, doesn't render properly, causes lots of exceptions, and uses extra memory. | |
-statistic <Integer Period>
|
Enables multiplayer statistics monitoring. The period is measured in seconds. Monitored statistics are saved in the cachedir/Statistic directory.
|
-statistic 10
|
-port <Integer Port>
|
Overrides the DefaultPort config option in the INI file. | -port 16261
|
-udpport <Integer Port>
|
Overrides the UDPPort config option in the INI file. | -udpport 16262
|
-steamvac <Boolean Enabled>
|
Enables or disables Valve Anti-Cheat on the server. Overrides the option in the server INI config. | -steamvac true
|
-servername <String Name>
|
Sets the internal servername to use. It affects the name of the save files that are loaded/saved. | -servername AnotherWorldSave
|
JVM arguments
Client & server
Arguments | Description | Example |
---|---|---|
-Xms<Integer Amount>m
|
The minimum amount of memory to allocate to the JVM. The game will not start if there is not enough memory available on the system to allocate. | -Xms4096m
|
-Xmx<Integer Amount>m
|
The maximum amount of memory to allocate to the JVM. Setting this above the physical RAM amount of the system will end up using virtual memory. | -Xmx8192m
|
-Dzomboid.steam=<Integer Enabled>
|
Disables the game's Steam API integration, which prevents joining Steam servers or accessing Workshop content. | -Dzomboid.steam=1
|
-Ddeployment.user.cachedir=<String Path>
|
Sets the game's cache directory. The same as setting -cachedir . Only works on Linux.
|
-Ddeployment.user.cachedir="/home/user/zomboid_server"
|
-Dsoftreset
|
Forces the game to perform a soft reset. This does not work as of 41.78.16. The issue was reported and could be fixed in future versions[1]. | |
-Ddebug
|
Launches the game in debug mode. Makes the CoopMaster coop server use debug mode if enabled. |
Client
Arguments | Description | Example |
---|---|---|
-Dargs.server.connect=<String IPv4:Port>
|
Connects to the server specified without needing to use the server browser. | -Dargs.server.connect="123.4.567.89:16261"
|
-Dargs.server.password=<String Password>
|
Provides the server being connected to a password without needing to use the server browser. | -Dargs.server.password="chocolatemilk55"
|
Launcher arguments
Client
Arguments | Description | Example |
---|---|---|
-pzexeconfig <String ConfigName>
|
Overrides the default launcher config ProjectZomboid64.json . An alternative to specifying args in the bat or in launch options.
|
-pzexeconfig ProjectZomboid64Custom.json
|
-pzexelog <String LogName>
|
Stores the logging output of the launcher ProjectZomboid64.exe . It is only useful for debugging purposes.
|
-pzexelog ProjectZomboid64.log
|