Jump to content
goodwinml

PC Dedicated Server Help

Recommended Posts

I am currently running an UnRaid Server (100TB)  and have a windows 10 Pro Virtual Machine running that I am using as a exclusive dedicated server machine. I have updated the serverDZ.cfg file. Have created a start .bat file. Static ip of unraid ends in xxx.xxx.xxx.30. Static ip of VM Gameserver ends in xxx.xxx.xxx.29. I start .bat file, game loads, no errors BUT game is not seen anywhere in steam game launcher. Under "community" or "LAN". All ports are forwarded in router. VM has inbound and outbound firewall rules made for access. Help Not sure of what else to post here that would help. Ideas??

Share this post


Link to post
Share on other sites

Can you post your serverDZ.cfg and .bat file so we can see if it has anything wrong in it?

Share this post


Link to post
Share on other sites
On 5/10/2023 at 4:15 AM, drgullen said:

Can you post your serverDZ.cfg and .bat file so we can see if it has anything wrong in it?

And we also need the command line to start DayZ Server. Did you add "ip=xxx.xxx.xxx.29" inside? You can also try to connect to your server directly using this link (to be executed in your browser): steam://run/221100//+connect [VM Gameserver IP]:[GamePort - 2302 by default]/

Share this post


Link to post
Share on other sites
8 hours ago, Draowyr said:

And we also need the command line to start DayZ Server. Did you add "ip=xxx.xxx.xxx.29" inside? You can also try to connect to your server directly using this link (to be executed in your browser): steam://run/221100//+connect [VM Gameserver IP]:[GamePort - 2302 by default]/

I can get to and play using the steam launcher now and selecting the LAN option. I see server. BUT the server is not seen in the community tab. So joe blow out in the world can't see it.

serverDZ.cfg

hostname = "Monkey Test";         // Server name
password = "";                // Password to connect to the server
passwordAdmin = "";          // Password to become a server admin

enableWhitelist = 0;                // Enable/disable whitelist (value 0-1)
 
maxPlayers = 100;                   // Maximum amount of players
 
verifySignatures = 2;            // Verifies .pbos against .bisign files. (only 2 is supported)
forceSameBuild = 1;              // When enabled, the server will allow the connection only to clients with same the .exe revision as the server (value 0-1)
 
disableVoN = 0;                  // Enable/disable voice over network (value 0-1)
vonCodecQuality = 20;            // Voice over network codec quality, the higher the better (values 0-30)
 
disable3rdPerson=0;              // Toggles the 3rd person view for players (value 0-1)
disableCrosshair=0;              // Toggles the cross-hair (value 0-1)

disablePersonalLight = 1;        // Disables personal light for all clients connected to server
lightingConfig = 0;              // 0 for brighter night setup, 1 for darker night setup
 
serverTime="2024/07/01/07/00";   // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=2;        // Accelerated Time (value 0-24)// This is a time multiplier for in-game time. In this case, the time would move 24 times faster than normal, so an entire day would pass in one hour.
serverNightTimeAcceleration=32;  // Accelerated Nigh Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0;          // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
 
guaranteedUpdates=1;             // Communication protocol used with game server (use only number 1)
 
speedhackDetection = 1;          // enable speedhack detection, values 1-10 (1 strict, 10 benevolent, can be float)
 
loginQueueConcurrentPlayers=5;   // The number of players concurrently processed during the login process. Should prevent massive performance drop during connection when a lot of people are connecting at the same time.
loginQueueMaxPlayers=500;        // The maximum number of players that can wait in login queue
 
instanceId = 1;                  // DayZ server instance id, to identify the number of instances per box and their storage folders with persistence files

storageAutoFix = 1;              // Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1)

pingWarning = 200;               // set to define the ping value from which the initial yellow ping warning is triggered (value in milliseconds)
pingCritical = 250;              // set to define the ping value from which the red ping warning is triggered (value in milliseconds)
MaxPing = 300;                   // set to define the ping value from which a player is kicked from the server (value in milliseconds)
serverFpsWarning = 15;           // set to define the server fps value under which the initial server fps warning is triggered (minimum value is 11)

 
class Missions
{
    class DayZ
    {
        template="dayzOffline.chernarusplus"; // Mission to load on server startup. <MissionName>.<TerrainName>
                          // Vanilla mission: dayzOffline.chernarusplus
                          // DLC mission: dayzOffline.enoch
    };
};

 

start.bat

@echo off
:start
::Server name
set serverName=Monkey Test
::Server files location
set serverLocation="C:\Dedicated Servers\DayZServer"
::Server Port
set serverPort=2302
::Server config
set serverConfig=serverDZ.cfg
::Logical CPU cores to use (Equal or less than available)
set serverCPU=4
::Sets title for terminal (DONT edit)
title %serverName% batch
::DayZServer location (DONT edit)
cd "%serverLocation%"
echo (%time%) %serverName% started.
::Launch parameters (edit end: -config=|-port=|-profiles=|-doLogs|-adminLog|-netLog|-freezeCheck|-filePatching|-BEpath=|-cpuCount=)
start "DayZ Server" /min "DZSALModServer.exe" -config=%serverConfig% -port=2302 -profiles=Profilesfolder "-mod=" -cpuCount=%serverCPU% -dologs -adminlog -netlog -freezecheck
::Time in seconds before kill server process (14400 = 4 hours)
timeout 10800
taskkill /im DayZServer_x64.exe /F
::Time in seconds to wait before..
timeout 10
::Go back to the top and repeat the whole cycle again
goto start

 

Share this post


Link to post
Share on other sites
On 5/9/2023 at 8:15 PM, drgullen said:

Can you post your serverDZ.cfg and .bat file so we can see if it has anything wrong in it?

See my last post.

Share this post


Link to post
Share on other sites

@goodwinml Here are my tips to try and solve your problem:
- Add an "ip=" launch option before the port. The IP you specify is your public IP (or the one attached to your VM if you have a public IP block)
- Remove -dologs (it produces unnecessary logs in the .RPT) (But it's not related to your problem)
- DZSALModServer.exe is no longer needed. You can use DayZServer_x64.exe directly.

Quote

start "DayZ Server" /min "DayZServer_x64.exe" -config=%serverConfig% -ip=000.000.000.000 -port=2302 -profiles=Profilesfolder "-mod=" -cpuCount=%serverCPU% -adminlog -netlog -freezecheck

In ServerDZ.cfg :

- Add a line with :

Quote

steamQueryPort = 2303;            // defines Steam query port, should fix the issue with server not being visible in client server browser

The QueryPort must be different from the GamePort mentioned in the command line. (2302 in your case) Make sure you open the port so that it is accessible from the Internet.

Edited by Draowyr

Share this post


Link to post
Share on other sites
48 minutes ago, goodwinml said:

start "DayZ Server" /min "DZSALModServer.exe" -config=%serverConfig% -port=2302 -profiles=Profilesfolder "-mod=" -cpuCount=%serverCPU% -dologs -adminlog -netlog -freezecheck

This line looks a bit odd to me.  Why do you have double quotes around the exe and -mod=?  It may make no difference, but on my start command, I have "DayZ Server" in quotes as you do, but the rest of that line, including my list of mods, have no double quotes around them.  Also as Draowyr just said (I was literally writing this as he replied), use the regular server exe for this.

Other than that, I see no issues.  If you can load into it via the LAN tab but the outside world can't see it, there must be a firewall issue somewhere.  You could try doing a trace route to it from somewhere outside the WAN and that might show you where the bottleneck is.

Share this post


Link to post
Share on other sites
On 5/20/2023 at 3:06 PM, Draowyr said:

@goodwinml Here are my tips to try and solve your problem:
- Add an "ip=" launch option before the port. The IP you specify is your public IP (or the one attached to your VM if you have a public IP block)
- Remove -dologs (it produces unnecessary logs in the .RPT) (But it's not related to your problem)
- DZSALModServer.exe is no longer needed. You can use DayZServer_x64.exe directly.

In ServerDZ.cfg :

- Add a line with :

steamQueryPort = 2303;            // defines Steam query port, should fix the issue with server not being visible in client server browser

The QueryPort must be different from the GamePort mentioned in the command line. (2302 in your case) Make sure you open the port so that it is accessible from the Internet.

Well I am here now. Works until I add lie line for steam query port. All ports are forwarded in router and in firewall.

 

The damn forum will not let me upload a pic of screenshot or error.

The error says:

File ServerDZ.cfg, line 7: '.stea': ' a black diamond with question mark inside of it' encountered instead of '='

 

This works ok.


hostname = "UnRaid DayZ Test";         // Server name
password = "";                // Password to connect to the server
passwordAdmin = "";          // Password to become a server admin

enableWhitelist = 0;                // Enable/disable whitelist (value 0-1)
 
maxPlayers = 100;                   // Maximum amount of players

verifySignatures = 2;            // Verifies .pbos against .bisign files. (only 2 is supported)
forceSameBuild = 1;              // When enabled, the server will allow the connection only to clients with same the .exe revision as the server (value 0-1)
 
disableVoN = 0;                  // Enable/disable voice over network (value 0-1)
vonCodecQuality = 20;            // Voice over network codec quality, the higher the better (values 0-30)
 
disable3rdPerson=0;              // Toggles the 3rd person view for players (value 0-1)
disableCrosshair=0;              // Toggles the cross-hair (value 0-1)

disablePersonalLight = 1;        // Disables personal light for all clients connected to server
lightingConfig = 0;              // 0 for brighter night setup, 1 for darker night setup
 
serverTime="2024/07/01/07/00";   // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=2;        // Accelerated Time (value 0-24)// This is a time multiplier for in-game time. In this case, the time would move 24 times faster than normal, so an entire day would pass in one hour.
serverNightTimeAcceleration=32;  // Accelerated Nigh Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0;          // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
 
guaranteedUpdates=1;             // Communication protocol used with game server (use only number 1)
 
speedhackDetection = 1;          // enable speedhack detection, values 1-10 (1 strict, 10 benevolent, can be float)
 
loginQueueConcurrentPlayers=5;   // The number of players concurrently processed during the login process. Should prevent massive performance drop during connection when a lot of people are connecting at the same time.
loginQueueMaxPlayers=500;        // The maximum number of players that can wait in login queue
 
instanceId = 1;                  // DayZ server instance id, to identify the number of instances per box and their storage folders with persistence files

storageAutoFix = 1;              // Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1)

pingWarning = 200;               // set to define the ping value from which the initial yellow ping warning is triggered (value in milliseconds)
pingCritical = 250;              // set to define the ping value from which the red ping warning is triggered (value in milliseconds)
MaxPing = 300;                   // set to define the ping value from which a player is kicked from the server (value in milliseconds)
serverFpsWarning = 15;           // set to define the server fps value under which the initial server fps warning is triggered (minimum value is 11)

 
class Missions
{
    class DayZ
    {
        template="dayzOffline.chernarusplus"; // Mission to load on server startup. <MissionName>.<TerrainName>
                          // Vanilla mission: dayzOffline.chernarusplus
                          // DLC mission: dayzOffline.enoch
    };
*****************************************************************************************************
The server blows up and does not load after I paste in the steam query server info. See pic for error.

hostname = "UnRaid DayZ Test";         // Server name
password = "";                // Password to connect to the server
passwordAdmin = "";          // Password to become a server admin

enableWhitelist = 0;                // Enable/disable whitelist (value 0-1)
 
maxPlayers = 100;                   // Maximum amount of players
steamQueryPort = 2303;          // defin es Steam query port
verifySignatures = 2;            // Verifies .pbos against .bisign files. (only 2 is supported)
forceSameBuild = 1;              // When enabled, the server will allow the connection only to clients with same the .exe revision as the server (value 0-1)
 
disableVoN = 0;                  // Enable/disable voice over network (value 0-1)
vonCodecQuality = 20;            // Voice over network codec quality, the higher the better (values 0-30)
 
disable3rdPerson=0;              // Toggles the 3rd person view for players (value 0-1)
disableCrosshair=0;              // Toggles the cross-hair (value 0-1)

disablePersonalLight = 1;        // Disables personal light for all clients connected to server
lightingConfig = 0;              // 0 for brighter night setup, 1 for darker night setup
 
serverTime="2024/07/01/07/00";   // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=2;        // Accelerated Time (value 0-24)// This is a time multiplier for in-game time. In this case, the time would move 24 times faster than normal, so an entire day would pass in one hour.
serverNightTimeAcceleration=32;  // Accelerated Nigh Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0;          // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
 
guaranteedUpdates=1;             // Communication protocol used with game server (use only number 1)
 
speedhackDetection = 1;          // enable speedhack detection, values 1-10 (1 strict, 10 benevolent, can be float)
 
loginQueueConcurrentPlayers=5;   // The number of players concurrently processed during the login process. Should prevent massive performance drop during connection when a lot of people are connecting at the same time.
loginQueueMaxPlayers=500;        // The maximum number of players that can wait in login queue
 
instanceId = 1;                  // DayZ server instance id, to identify the number of instances per box and their storage folders with persistence files

storageAutoFix = 1;              // Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1)

pingWarning = 200;               // set to define the ping value from which the initial yellow ping warning is triggered (value in milliseconds)
pingCritical = 250;              // set to define the ping value from which the red ping warning is triggered (value in milliseconds)
MaxPing = 300;                   // set to define the ping value from which a player is kicked from the server (value in milliseconds)
serverFpsWarning = 15;           // set to define the server fps value under which the initial server fps warning is triggered (minimum value is 11)

 
class Missions
{
    class DayZ
    {
        template="dayzOffline.chernarusplus"; // Mission to load on server startup. <MissionName>.<TerrainName>
                          // Vanilla mission: dayzOffline.chernarusplus
                          // DLC mission: dayzOffline.enoch
    };
};

**************************************************************************************************
start.bat

@echo off
tart::Server name
set serverName=UnRaid DayZ Test
::Server files location
set serverLocation="D:\DayZServer"
::Server Port
set serverPort=2302
::Server config
set serverConfig=serverDZ.cfg
::Logical CPU cores to use (Equal or less than available)
set serverCPU=2
::Sets title for terminal (DONT edit)
title %serverName% batch
::DayZServer location (DONT edit)
cd "%serverLocation%"
echo (%time%) %serverName% started.
::Launch parameters (edit end: -config=|-port=|-profiles=|-doLogs|-adminLog|-netLog|-freezeCheck|-filePatching|-BEpath=|-cpuCount=)
start "DayZ Server" /min "DayZServer_x64.exe" -config=%serverConfig% -port=2302 -profiles=Profilesfolder "-mod=" -cpuCount=%serverCPU% -adminlog -netlog -freezecheck
::Time in seconds before kill server process (14400 = 4 hours)
timeout 10800
taskkill /im DayZServer_x64.exe /F
::Time in seconds to wait before..
timeout 10
::Go back to the top and repeat the whole cycle again
goto start


};

 

 

Edited by goodwinml

Share this post


Link to post
Share on other sites
11 hours ago, goodwinml said:

stea mQ ueryPort = 2303; 

Might just be my browser, but this is how I see this.  There's a space between the a and the m and between the Q and the u.  If that's how you actually have it, remove those spaces and try it.

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, drgullen said:

Might just be my browser, but this is how I see this.  There's a space between the a and the m and between the Q and the u.  If that's how you actually have it, remove those spaces and try it.

I looked, in the file there are no spaces. The spaces were in my post here somehow. Is there a reason to call out the port for steam query port? It seems to work without it. Here is the error. in attached jpg. Capture.PNG

This is file.

hostname = "UnRaid DayZ Test";         // Server name
password = "";                // Password to connect to the server
passwordAdmin = "";          // Password to become a server admin

enableWhitelist = 0;                // Enable/disable whitelist (value 0-1)
 
maxPlayers = 100;                   // Maximum amount of players
steamQueryPort = 2303;          // defin es Steam query port
verifySignatures = 2;            // Verifies .pbos against .bisign files. (only 2 is supported)
forceSameBuild = 1;              // When enabled, the server will allow the connection only to clients with same the .exe revision as the server (value 0-1)
 
disableVoN = 0;                  // Enable/disable voice over network (value 0-1)
vonCodecQuality = 20;            // Voice over network codec quality, the higher the better (values 0-30)
 
disable3rdPerson=0;              // Toggles the 3rd person view for players (value 0-1)
disableCrosshair=0;              // Toggles the cross-hair (value 0-1)

disablePersonalLight = 1;        // Disables personal light for all clients connected to server
lightingConfig = 0;              // 0 for brighter night setup, 1 for darker night setup
 
serverTime="2024/07/01/07/00";   // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=2;        // Accelerated Time (value 0-24)// This is a time multiplier for in-game time. In this case, the time would move 24 times faster than normal, so an entire day would pass in one hour.
serverNightTimeAcceleration=32;  // Accelerated Nigh Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0;          // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
 
guaranteedUpdates=1;             // Communication protocol used with game server (use only number 1)
 
speedhackDetection = 1;          // enable speedhack detection, values 1-10 (1 strict, 10 benevolent, can be float)
 
loginQueueConcurrentPlayers=5;   // The number of players concurrently processed during the login process. Should prevent massive performance drop during connection when a lot of people are connecting at the same time.
loginQueueMaxPlayers=500;        // The maximum number of players that can wait in login queue
 
instanceId = 1;                  // DayZ server instance id, to identify the number of instances per box and their storage folders with persistence files

storageAutoFix = 1;              // Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1)

pingWarning = 200;               // set to define the ping value from which the initial yellow ping warning is triggered (value in milliseconds)
pingCritical = 250;              // set to define the ping value from which the red ping warning is triggered (value in milliseconds)
MaxPing = 300;                   // set to define the ping value from which a player is kicked from the server (value in milliseconds)
serverFpsWarning = 15;           // set to define the server fps value under which the initial server fps warning is triggered (minimum value is 11)

 
class Missions
{
    class DayZ
    {
        template="dayzOffline.chernarusplus"; // Mission to load on server startup. <MissionName>.<TerrainName>
                          // Vanilla mission: dayzOffline.chernarusplus
                          // DLC mission: dayzOffline.enoch
    };
};

 

Edited by goodwinml

Share this post


Link to post
Share on other sites
On 5/20/2023 at 3:06 PM, Draowyr said:

@goodwinml Here are my tips to try and solve your problem:
- Add an "ip=" launch option before the port. The IP you specify is your public IP (or the one attached to your VM if you have a public IP block)
- Remove -dologs (it produces unnecessary logs in the .RPT) (But it's not related to your problem)
- DZSALModServer.exe is no longer needed. You can use DayZServer_x64.exe directly.

In ServerDZ.cfg :

- Add a line with :

The QueryPort must be different from the GamePort mentioned in the command line. (2302 in your case) Make sure you open the port so that it is accessible from the Internet.

Draowyr, can you look at my last post and see if you can figure out what that error means? Thanks for any help.

Share this post


Link to post
Share on other sites
On 5/21/2023 at 12:24 PM, drgullen said:

Might just be my browser, but this is how I see this.  There's a space between the a and the m and between the Q and the u.  If that's how you actually have it, remove those spaces and try it.

drgullen, Check out my last post. Can you figure out what the error means?

Share this post


Link to post
Share on other sites

I now don't see an error in the way is it written, so no I can't figure it out.  It looks correct to me.

A lot of others have had this type of issue though.  I did this Google search: https://www.google.com/search?q=serverDZ.cfg+encountered+instead+of+'%3D'

It seems similar errors go back to the old Arma days.  One on that list suggests to start over and edit a fresh serverDZ.cfg that you know by default works.  You could maybe try with this one on GitHub as the base: https://github.com/sinipelto/dayz-scripts/blob/master/serverDZ.cfg

Sorry, don't know what else to suggest.  Hope you figure it out.  If you do, please let us know what it was.

Share this post


Link to post
Share on other sites
18 hours ago, drgullen said:

I now don't see an error in the way is it written, so no I can't figure it out.  It looks correct to me.

A lot of others have had this type of issue though.  I did this Google search: https://www.google.com/search?q=serverDZ.cfg+encountered+instead+of+'%3D'

It seems similar errors go back to the old Arma days.  One on that list suggests to start over and edit a fresh serverDZ.cfg that you know by default works.  You could maybe try with this one on GitHub as the base: https://github.com/sinipelto/dayz-scripts/blob/master/serverDZ.cfg

Sorry, don't know what else to suggest.  Hope you figure it out.  If you do, please let us know what it was.

Whats weird is my .cfg above works perfectly. BUT when I paste the line "steamQueryPort = 2303;          // defines Steam query port" it blows up. I remove that line and it works. Is that line actually required if I am not changing from the default port of 27016? I have used 2303 and 27016 in this cfg both error out.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×