Jump to content

Schatten

Member
  • Content Count

    772
  • Joined

  • Last visited

  • Medals

Posts posted by Schatten


  1. Viba, how did you do that headless client occupied special slot on connected to server? On my server HC occupied first free slot. Can you help?

    From mission.sqm

    class Item67
    {
    side="CIV";
    class Vehicles
    {
    	items=1;
    	class Item0
    	{
    		position[]={4398.0698,2.8474684,12019.737};
    		azimut=195;
    		id=67;
    		side="CIV";
    		vehicle="CIV_EuroMan01_EP1";
    		player="PLAY CDG";
    		leader=1;
    		skill=0.60000002;
    		description="Headless client";
    		forceHeadlessClient=1;
    		init="this allowDamage false; this enableSimulation false";
    	};
    };
    };

    From init.sqf

    _path = switch (true) do {
    case isServer: {"\@server\init.sqf"};
    case (!hasInterface and !isDedicated): {"hc\init.sqf"};
    case !isDedicated: {"player\init.sqf"};
    };
    
    [] execVM _path;


  2. I was hoping for a "trick" to do it. I have well over 150 (more if selected in MP Parameters) enemy units, and putting eventhandler on all of them, i guess, will slow down the system considerably.

    Try.

    If enemy units are placed in editor use this code after mission starts:

    {if (!(isPlayer _x)) then {_x addEventHandler ["Killed", {_this call onKilledAi}]}} count (allMissionObjects "CAManBase");

    Or simply attach event handler to enemy units during creation using script:

    _unit addEventHandler ["Killed", {_this call onKilledAi}];


  3. eventhandler?

    I think this is the only solution.

    You need attach for each AI event handler

    _unit addEventHandler ["Killed", {_this call onKilledAi}];

    Example of event handler:

    server\eventHandlers\onKilledAi.sqf

    _unit = _this select 0;
    _killer = _this select 1;
    
    _killer addScore 1;
    
    _unit spawn {
    sleep (5 * 60);
    
    hideBody _this;
    };
    
    true

    Command addScore works only on server. So you need attach event handler on server.


  4. Hi!

    I started dedicated server and connect to it headless client from same machine. And I can't connect to my server - pops up window "Connection lost". Also BattlEye reports "BE Service not running - closing game to start installation..." but nothing happens.

    What's the problem? Or it is impossible to do?

    UPDATE:

    Connect HC to Arma 2 OA server.bat

    CMD /C START ArmA2OA_BE.exe 0 0 -cfg=hc.cfg -client -connect=127.0.0.1 -mod=@server -name=HC -nosound -port=2302 -profiles=profiles

    From server.cfg

    kickDuplicate = 0;
    localClient[] = {127.0.0.1};


  5. Hi!

    If I start dedicated server using A2OA Dedicated Server from Steam Tools no one can connect to it - pops up window "Connection lost". But if I start dedicated server using arma2oaserver.exe EVERYONE can connect to it.

    If I add arma2oaserver.exe to Steam Library (Games -> Add non-Steam application in my library) and start no one can connect to it again - pops up window "Connection lost".

    What's the matter?

    Parameters

    -cfg=basic.cfg -config=server.cfg -mod=@inidbi;@server -name=server -port=2302 -profiles=profiles

    server.cfg

    hostName = "something";
    maxPlayers = 60;
    motd[] = {"something"};
    motdInterval = 5;
    password = "";
    passwordAdmin = "something";
    
    allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
    allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
    BattlEye = 1;
    kickDuplicate = 1;
    localClient[] = {127.0.0.1};
    onHackedData = "ban (_this select 0)";
    persistent = 1;
    reportingIP = "";
    requiredBuild = 125548;
    requiredSecureId = 2;
    steamPort = 8766;
    steamQueryPort = 2303;
    timeStampFormat = "short";
    verifySignatures = 2;
    voteMissionPlayers = 3;
    voteThreshold = 1.33;
    
    class Missions
    {
    class something
    {
    	template = "something.Takistan";
    	difficulty = "veteran";
    };
    };

    Disabling mods, verifySignatures, requiredBuild and requiredSecureId didn't help.

    Please, help!

    OR

    How to make that Steam doesn't report that I started A2OA after launching arma2oaserver.exe? Because of this, I could not start the game.

    UPDATES:

    I opened these UDP ports in my router: 2302, 2303, 2305 and 8766.

    If I delete steam_appid.txt (which contain number 33930) Steam will not report that I started A2OA after launching arma2oaserver.exe. But no one can connect to server - pops up window "Connection lost".

    If I change number from steam_appid.txt from 33930 to 33935 Steam will report that I started A2OA Dedicated Server after launching arma2oaserver.exe. But no one can connect to server again - pops up window "Connection lost".


  6. I am very new at this and I just have a basic knowledge of the script usage. If anybody can please help me with this it would be greatly appreciated.

    Example:

    server\init.sqf

    call (compile (preprocessFileLineNumbers "\inidbi\init.sqf"));
    
    _scriptHandler = [] execVM "server\eventHandlers\init.sqf";
    
    waitUntil {
    	sleep 0.1;
    
    	scriptDone _scriptHandler
    };
    server\eventHandlers\init.sqf

    onPlayerProfileReceipt = compileFinal (preprocessFileLineNumbers "server\eventHandlers\onPlayerProfileReceipt.sqf");
    onPlayerProfileRequest = compileFinal (preprocessFileLineNumbers "server\eventHandlers\onPlayerProfileRequest.sqf");
    
    "playerProfile" addPublicVariableEventHandler {call onPlayerProfileReceipt};
    "playerUid" addPublicVariableEventHandler {call onPlayerProfileRequest};
    server\eventHandlers\onPlayerProfileReceipt.sqf

    _uid = playerProfile select 0;
    _profile = playerProfile select 1;
    
    playerProfile = nil;
    
    if ((count _profile) > 0) then {
    	[_uid, "profile", "damage", _profile select 0] call iniDB_write;
    	[_uid, "profile", "position", _profile select 1] call iniDB_write;
    	[_uid, "profile", "magazines", _profile select 2] call iniDB_write;
    	[_uid, "profile", "weapons", _profile select 3] call iniDB_write;
    };
    
    true
    server\eventHandlers\onPlayerProfileRequest.sqf

    playerProfile = [];
    
    if (playerUid call iniDB_exists) then {
    	{
    		_variableName = _x select 0;
    		_variableType = _x select 1;
    
    		_variableValue = [playerUid, "profile", _variableName, _variableType] call iniDB_read;
    
    		playerProfile pushBack _variableValue;
    	}
    	forEach [
    		["damage", "SCALAR"],
    		["position", "ARRAY"],
    		["magazines", "ARRAY"],
    		["weapons", "ARRAY"]
    	];
    };
    
    {if ((getPlayerUID _x) == playerUid) exitWith {(owner _x) publicVariableClient "playerProfile"}} forEach playableUnits;
    
    playerProfile = nil;
    playerUid = nil;
    
    true
    player\init.sqf

    resetProfile = compileFinal (preprocessFileLineNumbers "player\functions\resetProfile.sqf");
    setUpPlayer = compileFinal (preprocessFileLineNumbers "player\functions\setUpPlayer.sqf");
    
    profileBroadcaster = compileFinal (preprocessFileLineNumbers "player\scripts\profileBroadcaster.sqf");
    
    playerUid = getPlayerUID player;
    
    publicVariableServer "playerUid";
    
    playerUid = nil;
    
    player globalChat "Profile is requested";
    
    waitUntil {
    	sleep 0.1;
    
    	!(isNil "playerProfile")
    };
    
    if ((count playerProfile) > 0) then {
    	player globalChat "Profile is found";
    
    	playerDamage = playerProfile select 0;
    	playerPosition = playerProfile select 1;
    	playerMagazines = playerProfile select 2;
    	playerWeapons = playerProfile select 3;
    }
    else {
    	player globalChat "Profile is not found";
    
    	call resetProfile;
    };
    
    playerProfile = nil;
    
    call setUpPlayer;
    
    [] spawn profileBroadcaster;
    player\scripts\profileBroadcaster.sqf

    while {true} do {
    	sleep (2 * 60);
    
    	_weapons = (weapons player) - ["ItemCompass", "ItemMap", "ItemRadio", "ItemWatch"];
    
    	playerProfile = [
    		getPlayerUID player,
    
    		[
    			damage player,
    			[position player, direction player],
    			magazines player,
    			_weapons
    		]
    	];
    
    	publicVariableServer "playerProfile";
    
    	playerProfile = nil;
    
    	player globalChat "Profile is saved";
    };
    Hope it will help.

  7. I have found a way to turn it on and off now.

    save the code as kill_bis_fnc_dirIndicator.sqf

    //////////////////////////////////////////////////////////////////
    // To use bis_fnc_dirIndicator place in a  units init
    // dirIndicator = [player,bill,[0.706,0.0745,0.0196,1]] call bis_fnc_dirIndicator;
    //
    // to terminate bis_fnc_dirIndicator use the following in a trigger or script.
    // null=[dirIndicator]execvm "kill_bis_fnc_dirIndicator.sqf"
    
    visibleMap = true; // fades it out just as if you open the map
    sleep 1;
    terminate (_this select 0);// stops the program from running
    sleep 1;
    visibleMap = false; // restets visiblemap so it can be used as normal

    If you use this code, indicator will stop hiding when opening map.


  8. Well having never used Steam's tool I'm not sure what else to suggest other than don't use it :p

    I used A2OA Dedicated Server from Steam's Tools because if I started dedicated server using arma2oaserver.exe, Steam reported that I started the game. Because of this, I could not start the game. But Steam was updated a few hours ago. Now if I start arma2oaserver.exe, Steam doesn't report that I started the game.

    So problem is removed for the time being. Thx for help.

    You can verify your server is talking to Steam by using this link and putting your server's IP address at the end:

    http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=[b]EnterYourServerIpHere[/b]

    My response:

    {
    "response": {
    	"success": true,
    	"servers": [
    		{
    			"addr": "*.*.*.*:2303",
    			"gmsindex": 65534,
    			"appid": 33930,
    			"gamedir": "arma2arrowpc",
    			"region": -1,
    			"secure": false,
    			"lan": false,
    			"gameport": 2302,
    			"specport": 0
    		}
    	]
    
    }
    }

    * I changed steamQueryPort to 2303.


  9. Do you have desktop access to your server (ie: you can see the console window when the server starts)?

    Yes, I start dedicated server from my computer.

    If so does the title bar of the console window say: Arma 2 OA Console version 1.63 : port 2302

    Yes, the title bar of the console window say "ArmA 2 OA Console version 1.63 : port 2302".

    More info see in my previous message.

    Also I would try disabling these 2 lines in your server.cfg:

    requiredBuild = 125548;

    requiredSecureId = 2;

    I tried - didn't help.


  10. Try without any mods first and verifySignatures = 0

    Did not help.

    My server.cfg:

    hostName = "something";
    maxPlayers = 60;
    motd[] = {"something"};
    motdInterval = 5;
    password = "";
    passwordAdmin = "something";
    
    allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
    allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
    BattlEye = 1;
    kickDuplicate = 1;
    localClient[] = {127.0.0.1};
    onHackedData = "ban (_this select 0)";
    persistent = 1;
    reportingIP = "";
    requiredBuild = 125548;
    requiredSecureId = 2;
    steamPort = 8766;
    steamQueryPort = 27016;
    timeStampFormat = "short";
    verifySignatures = 2;
    voteMissionPlayers = 3;
    voteThreshold = 1.33;
    
    class Missions
    {
    class something
    {
    	template = "something.Takistan";
    	difficulty = "veteran";
    };
    };


  11. Try running Steam as administrator could help.

    Did not help.

    Are you sure the steam query port is forwarded in the router?

    Yes, I'm sure.

    From server.cfg:

    steamPort = 8766;
    steamQueryPort = 27016;

    If I start dedicated server using arma2oaserver.exe packets pass through steamQueryPort and everyone can connect to my server. If I start dedicated server using Steam's tool packets pass through steamQueryPort too, but NO ONE can connect to my server.


  12. Hi everyone!

    If I start dedicated server using arma2oaserver.exe it works fine. But if I start dedicated server using Steam's tool I can not connect to it - pops up window "Connection lost". What's the matter?

    Parameters:

    -cfg=basic.cfg -config=server.cfg -mod=@inidbi;@server -name=server -profiles=profiles

    From arma2oaserver.RPT if I start dedicated server using arma2oaserver.exe:

    =====================================================================
    == D:\Steam\steamapps\common\Arma 2 Operation Arrowhead\arma2oaserver.exe
    == "D:\Steam\steamapps\common\Arma 2 Operation Arrowhead\arma2oaserver.exe" -cfg=basic.cfg -config=server.cfg -mod=@inidbi;@server -name=server -profiles=profiles
    =====================================================================
    Exe timestamp: 2014/08/14 12:45:09
    Current time:  2014/08/14 13:17:13
    
    Version 1.63.125402
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)
    13:17:13 Server error: Player without identity Schatten (id *********)

    From arma2oaserver.RPT if I start dedicated server using Steam's tool:

    =====================================================================
    == D:\Steam\steamapps\common\Arma 2 Operation Arrowhead\ARMA2OASERVER.exe
    == "D:\Steam\steamapps\common\Arma 2 Operation Arrowhead\ARMA2OASERVER.exe" -cfg=basic.cfg -config=server.cfg -mod=@inidbi;@server -name=server -profiles=profiles
    =====================================================================
    Exe timestamp: 2014/08/14 12:45:09
    Current time:  2014/08/14 12:49:20
    
    Version 1.63.125402
    12:49:20 Server error: Player without identity Schatten (id *********)

    No errors in server's console.

×