Jump to content
Sign in to follow this  
Asmodeuz

(Dedicated) server forcing view distance, how to remove/change?

Recommended Posts

Hello,

 

seems that the dedicated server I'm running (rented from GameServers) is forcing a view distance maximum of 1500 m. I've read that is the default view distance for Arma 3 MP so this is by no means an issue with the server provider.

 

I've come to understand that it should be possible to change the view distance the server is forcing the clients to use from the server's Arma3Profile and this is exactly what I've been trying to achieve but without any effect.

 

Currently I've placed the following lines in the file server.Arma3Profile

sceneComplexity=400000;
shadowZDistance=100;
viewDistance=12000;
preferredObjectViewDistance=12000;
terrainGrid=50;

and then calling this file with the following server startup parameters:

c:\path\to\arma3\arma3server.exe -profiles=C:\path\to\arma3\config -name=server -config=server.cfg

Then when I join this (dedicated) server as a client the view distance is anyways capped to 1500 m and there's no difference if I as a client have set Overall and Object view distances to 12000 m.

 

Would someone have some pointers to offer here? Is setting the view distance from the server profile supposed to work?

Or do I need to begin thinking of setting the view distance on a mission to mission basis?

Share this post


Link to post
Share on other sites

The priority for setting the viewdistance is as follows

 

Mission setting(Highest priority)

Server config (Second highest, if not defined, the default setting will be assumed)

Client setting

 

You haven't stated how you know what the viewdistance actually is, are you guessing or have you run something like the following code a few seconds into the mission?

hint format ["Viewdistance is %1",viewdistance];

 

You may think you are running the profile, however are you ?

Take a look at your rpt file at the very top, it will state your actual command line params.

 

If everything returns okay then I can only assume your server config file has an error some where in it

 

Here is a copy of my ***.Arma3Profile



class DifficultyPresets
{
    class CustomDifficulty
    {
        class Options
        {
            reducedDamage=0;
            groupIndicators=0;
            friendlyTags=0;
            enemyTags=0;
            detectedMines=0;
            commands=0;
            waypoints=2;
            weaponInfo=1;
            stanceIndicator=1;
            staminaBar=1;
            weaponCrosshair=0;
            visionAid=0;
            thirdPersonView=1;
            cameraShake=0;
            scoreTable=0;
            deathMessages=0;
            vonID=1;
            mapContent=0;
            autoReport=0;
            multipleSaves=0;
        };
        aiLevelPreset=3;
    };
    class CustomAILevel
    {
        skillAI=0.85000002;
        precisionAI=0.5;
    };
};
singleVoice=0;
maxSamplesPlayed=96;
activeKeys[]=
{
};
playedKeys[]=
{
};
sceneComplexity=400000;
shadowZDistance=100;
viewDistance=1000;
preferredObjectViewDistance=1000;
terrainGrid=25;
volumeCD=10;
volumeFX=10;
volumeSpeech=10;
volumeVoN=10;
vonRecThreshold=0.03;

Share this post


Link to post
Share on other sites

Hey terox and thank You for the quick reply!

 

47 minutes ago, terox said:

You haven't stated how you know what the viewdistance actually is, are you guessing or have you run something like the following code a few seconds into the mission?

hint format ["Viewdistance is %1",viewdistance];

 

 

Thanks for sharing that short script with which I ran a test on the dedicated server using Debug console and GLOBAL EXEC (I guess that was the right thing to do?).

After pressing GLOBAL EXEC a hint appeared that said Viewdistance is 1600

(pressing LOCAL EXEC gives the same result)

 

 

47 minutes ago, terox said:

You may think you are running the profile, however are you ?

Take a look at your rpt file at the very top, it will state your actual command line params.

 

Below are the first lines from the latest .rpt file which was created when I started the server and went to try the aforementioned "hint test". I will omit some bits from the file paths and an IP but other than that the information is actual

 

Spoiler

=====================================================================
== c:\games\PATH\TO\arma3\arma3server.exe
== c:\games\PATH\TO\arma3\arma3server.exe -profiles=C:\games\PATH\TO\arma3\config -name=server -config=server.cfg -port=2302 -IP=XXX.XX.XXX.XXX -world=empty -gtqueryport=2303 -filePatching -mod=@cup_terrains;@ifa3_aio_lite

Original output filename: Arma3Retail_Server
Exe timestamp: 2017/08/08 19:03:16
Current time:  2017/08/31 20:28:55

Type: Public
Build: Stable
Version: 1.74.142559

Allocator: c:\games\PATH\TO\arma3\Dll\tbb4malloc_bi.dll [2017.0.0.0] [2017.0.0.0]
PhysMem: 16 GiB, VirtMem : 4.0 GiB, AvailPhys : 3.7 GiB, AvailVirt : 3.9 GiB, AvailPage : 17 GiB
=====================================================================

20:28:55 SteamAPI initialization failed. Steam features won't be accessible!

 

If you ask me everything seems to be a'ok, but is it actually..

 

 

47 minutes ago, terox said:

If everything returns okay then I can only assume your server config file has an error some where in it

 

Going through the rpt file from start to finish only errors I'm finding are related to the Iron Front in Arma 3 modification (see below)

20:29:49 InitSound ...
20:29:49 InitSound - complete
20:29:49 PhysX3 SDK Init started ...
20:29:49 PhysX3 SDK Init ended.
20:29:51 Error in expression <ils>
20:29:51   Error position: <ils>
20:29:51   Error Undefined variable in expression: ils
20:29:51 unable to compile MFD condition 'ils'
20:29:52 Error in expression <ils>
20:29:52   Error position: <ils>
20:29:52   Error Undefined variable in expression: ils
20:29:52 unable to compile MFD condition 'ils'
20:29:52 Error in expression <ils>
20:29:52   Error position: <ils>
20:29:52   Error Undefined variable in expression: ils
20:29:52 unable to compile MFD condition 'ils'
20:29:52 Warning Message: You cannot play/edit this mission; it is dependent on downloadable content that has been deleted.
a3_characters_f
20:29:52 Loading movesType CfgGesturesMale

Well ok, there are errors about some "bones" missing (Error: Bone trigger doesn't exist in skeleton OFP2_ManSkeleton) but that is all.

 

I don't know if this has any relevance here:

if I use the in-game Debug console and GLOBAL (or LOCAL) EXEC setViewDistance=12000 the view distance increases considerably from the capped 1600m

Share this post


Link to post
Share on other sites

SEE THIS LINK:

https://community.bistudio.com/wiki/setViewDistance

 

Max view distance you can set in Arma is 5km (5000m)   <<<< Thats your issue

 

 

that's a 12km viewdistance your trying to set. (Even if Arma allowed that No one is going to have a rig that can do that with a decent frame rate and i have absolutely no idea what impact that would have have on the AI and the server cps if it were a valid value

Running the code in the debug console will have the highest priority, even over a mission script, that's why your seeing the impact

 

Here is a more detailed order of what can be run to effect the view distance, in the order that they would effect it, (The higher the number the higher the priority, eg overides any previous defines for viewdistance)

 

  1. Client config
  2. Server config (which will overide client config)
  3. Addon (With any script thats sets the viewdistance) if it is defined as a pre init function
  4. Mission (any script that is run at time == 0) eg before the mission is started, (Pre init or when mission.sqm is run or from the init.sqf)
  5. After that any post init code from an addon or a mission script or in your example from the debug console

 

 

 

 

Share this post


Link to post
Share on other sites
16 hours ago, terox said:

SEE THIS LINK:

https://community.bistudio.com/wiki/setViewDistance

 

Max view distance you can set in Arma is 5km (5000m)   <<<< Thats your issue

 

From that link I'm reading:

 

"accepted range is 500m to 5,000m (in OFP) or 10,000m (in ArmA)"

 

And if max view distance was 5000m like you typed there surely there should be some noticeable change when I change the values in the .Arma3Profile from 12000 to

viewDistance=4500;
preferredObjectViewDistance=4500;

but no, there isn't. The view distance is still at 1600m.

Share this post


Link to post
Share on other sites

I've explained the priority of the setviewdistance command and also where issues may lay. (This information should have led you to think about running a vanilla test server to rule out an addon issue)

The link I gave also explains how to reset the viewdistance, something else you could try

I've also explained that 12000 is an invalid value. (I have no idea how the engine reacts to an invalid value for viewdistance in the various areas it can be defined)

You've proved that the setviewdistance command works and your able to return the actual distance that is set with the hint code command on your client

You should now have the tools and the knowledge to debug the issue and return the values for the server by logging the viewdistance to the servers rpt file  < diag_log format ["Viewdistance is %1",viewdistance]; > and run your hint using the debug dialog on your local machine to return the viedistance for your client

Unfortunately, there is nothing else I can offer, the issue lays  somewhere within the information I have already given

 

So its either

  • Config error
  • addon
  • code in a mission

Just as a tip

 

run the following code on all nodes from a pre init function, so it runs as early as possible

This will log the viewdistance to the rpt on the server and the client, you can then look through the log, it may give you an idea if and when the viewdistance is changing and if it does the time it will change will point to where the issue could be.

diag_log format ["Viewdistance is %1", viewdistance];
[]spawn
{
     while {time < 20}do
     {
          diag_log format ["Time: %1 - Viewdistance: %2", diag_tickTime, viewdistance];
          sleep 0.01;
     };
};

Share this post


Link to post
Share on other sites

@terox

 

I got rid of all the server startup parameters except -profiles and -name. Having done that I started the server with a new -name parameter so that the server would automatically create a completely new Arma3Profile for me.

After the new profile file was ready I copied the contents of the profile file you provided in your first post and changed the following value from 1 to

thirdPersonView=0;

Then I started the server again with only -profiles and -name to test whether I could switch between 1st and 3rd person view and that was possible. Isn't it so that when I've set thirdPersonView=0; switching between 1st and 3rd should not be possible(?).

 

From this I would conclude that the problem lies in that the ***.Arma3Profile file is not being read by the server. Though RPT file is indicating that it is being read

=====================================================================
== c:\games\path\to\arma3\arma3server.exe
== c:\games\path\to\arma3\arma3server.exe -profiles=C:\games\path\to\arma3\config -name=pulitesti

But I might as well be wroooooong

Share this post


Link to post
Share on other sites

i did say possibly an issue with the config file right at the start

On 31/08/2017 at 7:10 PM, terox said:

If everything returns okay then I can only assume your server config file has an error some where in it

anyway sorted ion the end

Share this post


Link to post
Share on other sites
33 minutes ago, terox said:

anyway sorted ion the end

 

Not sorted yet if that's what you are implying :)

 

Either way I appreciate all the help you did provide thus far! Have a nice weekend!

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
Sign in to follow this  

×