Jump to content
Sign in to follow this  
Contra

Arma 2 Linux dedicated, Not reading server config files

Recommended Posts

Hello everyone,

I have a dedicated linux server. Now I've installed everything, and I can get it to run fine with default folder settings. The problem is I need to secure my server files (as seen in this post: http://forums.bistudio.com/showthread.php?121438-How-to-secure-Your-server-Read-here!). When I try and launch my command:

nohup ./server start -cfg=/root/mypath/myBasic.cfg -config=/root/mypath/myServer.cfg -BEpath=/root/mypath/myBEfolder/ -profiles=/root/mypath/myBEfolder/&

The server goes into default mode, with no settings at all and does not read my cofig files at all. IT also seems to overwrite my basic.cfg with only

Windowed=0;

Any ideas on why this is happening ? Am I getting the commands wrong ?

Basic config file

// These options are created by default
language="English";
adapter=-1;
3D_Performance=1.000000;
Resolution_W=800;
Resolution_H=600;
Resolution_Bpp=32;


// These options are important for performance tuning

MinBandwidth = 320000;			//* Bandwidth the server is guaranteed to have (in bps). This value helps server to estimate bandwidth available. Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded. Default: 131072
MaxBandwidth = 10000000000;		//Bandwidth the server is guaranteed to never have. This value helps the server to estimate bandwidth available.

MaxMsgSend = 256;			//* Maximum number of messages that can be sent in one simulation cycle. Increasing this value can decrease lag on high upload bandwidth servers. Default: 128
MaxSizeGuaranteed = 1024;		//Maximum size of guaranteed packet in bytes (without headers). Small messages are packed to larger frames. Guaranteed messages are used for non-repetitive events like shooting. Default: 512
MaxSizeNonguaranteed = 64;		//Maximum size of non-guaranteed packet in bytes (without headers). Non-guaranteed messages are used for repetitive updates like soldier or vehicle position. Increasing this value may improve bandwidth requirement, but it may increase lag. Default: 256

MinErrorToSend = 0.005;			//Minimal error to send updates across network. Using a smaller value can make units observed by binoculars or sniper rifle to move smoother. Default: 0.01

MaxCustomFileSize = 1600000;		//Users with custom face or custom sound larger than this size are kicked when trying to connect.

My server config file

//
// server.cfg
//
// comments are written with "//" in front of them.


// GLOBAL SETTINGS
hostname = "MY server";			// The name of the server that shall be displayed in the public server list
password = "****";						// Password for joining, eg connecting to the server
passwordAdmin = "****";					// Password to become server admin. When you're in Arma MP and connected to the server, type '#login xyz'
//reportingIP = "armedass.master.gamespy.com";		// For ArmA1 publicly list your server on GameSpy. Leave empty for private servers
//reportingIP = "arma2pc.master.gamespy.com";		// For ArmA2 publicly list your server on GameSpy. Leave empty for private servers
reportingIP = "arma2oapc.master.gamespy.com";		// For Arma2: Operation Arrowhead
logFile = "server_console.log";				// Tells ArmA-server where the logfile should go and what it should be called


// WELCOME MESSAGE ("message of the day")
// It can be several lines, separated by comma
// Empty messages "" will not be displayed at all but are only for increasing the interval
motd[] = {
"","",
"Welcom to the test server.", 
"Example message output.",
"","",	
};
motdInterval = 5;					// Time interval (in seconds) between each message


// JOINING RULES
checkfiles[] = {};					// Outdated.
maxPlayers = 64;					// Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player.
kickDuplicate = 1;					// Each ArmA version has its own ID. If kickDuplicate is set to 1, a player will be kicked when he joins a server where another player with the same ID is playing.
verifySignatures = 0;					// Verifies .pbos against .bisign files. Valid values 0 (disabled), 1 (prefer v2 sigs but accept v1 too) and 2 (only v2 sigs are allowed). 
equalModRequired = 0;					// Outdated. If set to 1, player has to use exactly the same -mod= startup parameter as the server.
//requiredBuild = 12345					// Require clients joining to have at least build 12345 of game, preventing obsolete clients to connect


// VOTING
voteMissionPlayers = 1;					// Tells the server how many people must connect so that it displays the mission selection screen.
voteThreshold = 0.33;					// 33% or more players need to vote for something, for example an admin or a new map, to become effective


// INGAME SETTINGS
disableVoN = 0;						// If set to 1, Voice over Net will not be available
vonCodecQuality = 7;					// Quality from 1 to 10
persistent = 1;						// If 1, missions still run on even after the last player disconnected.
timeStampFormat = "short";				// Set the timestamp format used on each report line in server-side RPT file. Possible values are "none" (default),"short","full".
BattlEye = 1;                                           // Server to use BattlEye system


// SCRIPTING ISSUES
onUserConnected = "";					//
onUserDisconnected = "";				//
doubleIdDetected = "";					//
//regularCheck = "{}";                                  //  Server checks files from time to time by hashing them and comparing the hash to the hash values of the clients. Causes heavy I/O, uncomment to disable feature


// SIGNATURE VERIFICATION
onUnsignedData = "kick (_this select 0)";		// unsigned data detected
onHackedData = "ban (_this select 0)";			// tampering of the signature detected
onDifferentData = "";					// data with a valid signature, but different version than the one present on server detected


// MISSIONS CYCLE (see below)
class Missions {
class DM_Deathmatch
       {
               template = "MP_Deathmatch.Chernarus";// omit the .pbo suffix
               difficulty = "recruit";// difficulty: recruit, regular, veteran or mercenary (see CfgDifficulties in the main game config)
       };
       class DM_Detector
       {
               template = "MP_Detector.Chernarus";
               difficulty = "regular";
       };
       class Team_TeamDeathmatch
       {
               template = "MP_TeamDeathmatch.Chernarus";
               difficulty = "veteran";
       };
       class COOP_Paradrop
       {
               template = "MP_Paradrop.Chernarus";
               difficulty = "mercenary";
       };
       class CTI_CivilWar
       {
               template = "MP_CivilWar.Chernarus";
               difficulty = "regular";
       };
       class CTI_SuperPowers
       {
               template = "MP_Superpowers.Chernarus";
               difficulty = "regular";
       };
       class CTI_WarWelcome
       {
               template = "MP_WarWelcome.utes";
               difficulty = "regular";
       };
       class CTI_WhenDiplomacyFails
       {
               template = "MP_WhenDiplomacyFails.Chernarus";
               difficulty = "regular";
       };

	class COOP_HikeInTheHills
{
	template="MPE1_HikeInTheHills.Takistan";// omit the .pbo suffix
	difficulty="regular";// difficulty: recruit, regular, veteran or mercenary (see CfgDifficulties in the main game config)
};
class COOP_LaserShow
{
	template="MPE1_LaserShow.Takistan";
	difficulty="regular";
};
class COOP_Littlebird
{
	template="MPE1_Littlebird.Takistan";
	difficulty="regular";
};
class COOP_OneShotOneKill
{
	template="MPE1_OneShotOneKill.Takistan";
	difficulty="regular";
};
class COOP_SteelPanthers
{
	template="MPE_SteelPanthers.Takistan";
	difficulty="regular";
};
class CTI_MountainWarfare
{
	template="MPE_MountainWarfare.Takistan";
	difficulty="regular";
};
class CTI_MountainWarfare3Sided
{
	template="MPE_MountainWarfare3Sided.Takistan";
	difficulty="regular";
};
class CTI_UrbanWarfare
{
	template="MP_UrbanWarfare.Zargabad";
	difficulty="regular";
};
class SCont_SectorControl
{
	template="MPE_SectorControl.Zargabad";
	difficulty="veteran";
};
class DM_Dogfighters
{
	template="MPE1_Dogfighters.Takistan";
	difficulty="veteran";
};
class Team_HuntersHunted
{
	template="MPE1_HuntersHunted.Takistan";
	difficulty="veteran";
};

};

Edited by Contra

Share this post


Link to post
Share on other sites

That's apparently an old issue - absolute paths do not work with the -cfg and -config launch parameters. It's reported here: Linux server strips the first slash on some command line options, at least -cfg/-config.

Possible workaround: keep the configs in the server installation directory, but rename them to something odd/cryptic/secret.

NOTE: -bepath=... works fine with an absolute path

Share this post


Link to post
Share on other sites

Nice thank you, I was really stuck on that.

Share this post


Link to post
Share on other sites

What about file permissions? Does AA user have read priv. to those files? And keep them far away from your root user, will you? :)

Share this post


Link to post
Share on other sites

Thanks I will try this out tonight.

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  

×