-
Content Count
24 -
Joined
-
Last visited
-
Medals
Posts posted by drivetheory
-
-
Hello,
we've found out that the issue occurs when CPU count parameter is set to 1. Please check you Launcher parameters (Parameters page -> Advanced tab -> Advanced section) or command line/Steam startup parameters for -cpuCount=1.
problem occurs regardless of cpu count in my experience.
rpt file shows the following:
17:13:28 InitSound ... 17:13:28 Error: Create XAudio2 device failed, error 80040154 17:13:28 Warning: Audio device creation failed, attempt to create default audio: 17:13:28 SamplesPerSec: 44100, channels: 2, bitsPerSample: 16 17:13:28 Error: Create XAudio2 device failed, error 80040154 17:13:28 InitSound - complete
-
i saw the MP Framework but it wasn't very elaborate in it's hint examples/limitations, does rHINT support formatting and variables?...
-
got the popup target range script working in an MP environment, will post back later with complete details
-
if you run the script via addAction only the person who performs the addAction sees the hints/score and everyone sees the targets.
when i tried
if(!isServer)exitWith{};
nobody sees the hints/scores but they do get the popups
if you run it via server side trigger everyone sees the hints but the popups go haywire because everyone is triggering the popups...
i'm trying to make the script only popup server side but hint/score on all clients
hey F2k Sel, any ideas? I'll post my work in progress modification if it'd help.
EDIT: currently messing with some ideas, will post back later
-
I can't seem to get this basic script idea to hint all players within the given radius in a multiplayer game.
the constants:
1) 1 flag pole placed in game called "hint_pole"
2) init field of that flag pole: this addAction ["Generate Test Hint","distance_based_hint.sqf"];
I've tried to following:
_players = nearestObjects [hint_pole,[],30]; {if (_x == player) then {hintSilent "TEST HINT #1";};} forEach _players;and
_players = (position hint_pole) nearEntities 50; {hintsilent "TEST HINT #1"} forEach (_players);yeah.. im not very good at this scripting thing, but im relentless in my pursuit of trying to make things work...
-
@cuel I didn't really understand what you are saying...
the problem i ran into is that, if you look at the code i posted, it does NOT work if i don't do it that way. It kept changing the PublicVariable locally and not globally...
EDIT:
I see now...
AirRaid = true; PublicVariable "AirRaid";
-
so, after many hours of work and lots of trial & error and wiki page reading (instead of sleep, god im going to be worthless @ work today) this is the final working result:
init.sqf
if (isNil "AirRaid") then { AirRaid = false; if (isServer) then { publicVariable "AirRaid"; }; }; "AirRaid" addPublicVariableEventHandler { (_this select 0) execVM "air_raid_pt2.sqf"; };description.ext
class CfgSounds { sounds[] = { WarningSiren }; class WarningSiren { name="Warning_Siren"; sound[] = {"\sounds\danger.ogg",db-10,1}; titles[] = {}; }; };"el_flagpole" init field:
this addAction ["Begin Air Raid Warning","air_raid_pt1.sqf",["AirRaid"]];
air_raid_pt1.sqf
private ["_params","_PubVar"]; _params = _this select 3; _PubVar = _params select 0; if !(AirRaid) then { call compile format ["%1 = true;",_PubVar]; publicVariable _PubVar; sleep 1; el_speaker say3D "WarningSiren"; hintSilent "Incoming Aircraft!"; sleep 5; hintSilent "Hurry! Take Cover!"; sleep 5; hintSilent "They're Almost Here!"; sleep 5; hintSilent ""; call compile format ["%1 = false;",_PubVar]; publicVariable _PubVar; } else { hintSilent "The Alarm Has Already Been Sounded"; sleep 3; hintSilent ""; };air_raid_pt2.sqf
if (AirRaid) then { el_speaker say3D "WarningSiren"; if (player distance el_flagpole < 50) then {hintSilent "Incoming Aircraft!";}; sleep 5; if (player distance el_flagpole < 50) then {hintSilent "Hurry! Take Cover!";}; sleep 5; if (player distance el_flagpole < 50) then {hintSilent "They're Almost Here!";}; sleep 5; if (player distance el_flagpole < 50) then {hintSilent "";}; };I'm still not 100% certain why:
1) the public variable name has to be passed via command line in the init field of the flagpole
2) "call compile format ["%1 = false;",_PubVar];" has to be used instead of just "AirRaid = false;"
if anyone could explain these 2 things is in a way that someone as incompetent as myself could understand it i would be very appreciative of such generosity.
i tried using "AirRaid = false;" many times but it would only change the public variable locally and never propagate to the server or other clients and when combining "AirRaid = false;" with "PublicVaraiable AirRaid" in pt1 the script seemed to just hang (debugged it with the oh-so-clever use of a million hintsilent lines)
and as i sit here typing this out im wondering why addPublicVariableEventHandler ran when AirRaid was changed to true at the begging of pt1.sqf but did not again when AirRaid was changed back to the original value at the end of the very same script... or is it only run when it's changed from the state originally listed in init.sqf?.....
_Me = "rather confused";
thanks again
-
i think you put it there to update the pubvar after the local client changed it?
am reworking the method to use the addPublicVariableEventHandler now, it's always slow going- scripting is antithetical to what i can quickly wrap my head around so it always requires an immense amount of focus and concentration.
-
addPublicVariableEventHandler .... i was actually reading the wiki for this and wondering about using it before i originally posted. hmmmm.
any ideas on the geographically/marker/area limited hintSilent?
-
i had thought about using the addAction to toggle the pubvar and making the pubvar value the condition for the trigger (saw this method used before)- but don't triggers check the condition state once every cycle?... and if there's 1 flag pole in every city and 30 cities that's 30 triggers checking pubvar status every cycle? least this was the reasoning that had me continuing in the manual fire script method... thanks for pointing out the re-declaration of the pubvar with the "if (isServer) then {publicVariable "AirRaid";};" line, that part of the client+server what gets executed/updated where still confuses me since i can't get it crystal clear in my mind what does/is-supposed-to happen where.... will re-script, test, and post back
edit: any ideas on how to limit the hint to people only within 50m of flagpole?
-
The end result I am trying to accomplish player activates an addAction attached to an in-game flagpole object ("el_flagpole"), which calls an SQF that executes a say3D ("WarningSiren") sound ("\sounds\danger.ogg") from an in-game object ("el_speaker") as well as sending a hintSilent to all players within a 50m radius of the activation object.
the problem i'm having is making the say3D sound and hintSilent occur on all MP clients, as well as making the global variable work (which it's not when i mp host it?...)
I've tried and tested a couple ideas to make things propagate to all clients but they aren't working so i've come here seeking help. coding is definitely something i'm not very good at and confuses me greatly at times...
below is what i have so far that seems to be working correctly, but only for the client that executed the action added to the object.
init.sqf
if (isNil "AirRaid") then { AirRaid = false; if (isServer) then { publicVariable "AirRaid"; }; };description.ext
class CfgSounds { sounds[] = { WarningSiren }; class WarningSiren { name="Warning_Siren"; sound[] = {"\sounds\danger.ogg",db-10,1}; titles[] = {}; }; };"el_flagpole" init field:
this addAction ["Warn The Locals!", "air_raid_warning.sqf"];
"air_raid_warning.sqf"
if !(AirRaid) then { AirRaid = true; el_speaker say3D "WarningSiren"; hintSilent "Incoming Aircraft!"; sleep 5; hintSilent "Hurry! Take Cover!"; sleep 5; hintSilent "They're Almost Here!"; sleep 5; hintSilent ""; sleep 1; AirRaid = false; } else { hintSilent "The Alarm Has Already Been Sounded"; sleep 3; hintSilent ""; }; -
love the script Tophe, but havin some trouble with the vehicle respawn location...
this is the SQF snippet i created that is giving me trouble
hangar_1 = createVehicle ["Land_Mil_hangar_EP1", ([getMarkerPos "xtra_hangar_1" select 0,getMarkerPos "xtra_hangar_1" select 1,0.4]),[],0,"NONE"]; hangar_1 setDir 150; a10_one = createVehicle ["A10_US_EP1", ([getMarkerPos "a10_1" select 0,getMarkerPos "a10_1" select 1,0.4]),[],0,"NONE"]; a10_one setDir 330; a10_one setVehicleInit "veh = [this, 10, 10, 0, FALSE, FALSE] execVM ""vehicle.sqf"";";
"xtra_hangar_1" is a marker on the map where the hangar spawns in.
"a10_1" is a marker on the map where the A-10 spawns in.
the problem I'm experiencing is that the A-10 respawns where it crashes instead of respawning in the hanger at marker "a10_1"... i've tried to modify your script but can't quite get it right.
i'd truly appreciate all help you can provide as concisely as possible- coding is definitely something im not very good at and confuses me greatly at times.
thanks in advance
-
why wouldn't IPv6 be viable? the ISP will assign their modem an IPv6 address, and their computers an IPv6 address with a network prefix designated by their cable modem so wouldn't they have to change/spoof the mac address of their cable modem to change their specific network prefix?
-
blocking IPs won't really be a viable solution until IPv6 becomes commonplace and NAT'd IPv4 is no longer implemented imho...
-
thanks for the replies. seriously, thank you!
@PvPscene
bi.bikey has now been deleted, thanks
@GossamerSolid
that code snippet helps immensely; led me to discover this lil bit of info:
packet1:
TargetPLSTRINGdrivetheory
packet2:
Code STRINGdisableUserInput true;
also found this:
if (name vehicle player == hTargetPL) then {_xcompiled = compile hijCode;call _xcompiled;};+if (name vehicle player == hTargetPL) then {_xcompiled = compile hijCode;call _xcompiled;}; -
read http://forums.bistudio.com/showthread.php?t=121438and http://forums.bistudio.com/showthread.php?t=123407
threads, secure You server correct first ...
use BattlEye
current server launch shortcut is already:
C:\Program Files\Bohemia Interactive\ArmA 2\arma2server.exe -port=9999 -name=ArmA2 -config=D:\blah\the-config.cfg -cfg=D:\blah\the-cfg.cfg -profiles=D:\blah -BEpath=D:\blah\be
the-config.cfg already contains:
verifySignatures = 2; BattlEye = 1;
as far as sharing bans that would be a great idea, something similar to what punkbuster does already...
but im still were i was at the first post in this thread.....
-
well the fact still remains, running a vanilla server, if you're logged into the in-game admin slot your arma2 client locks up and you can't do anything. and, as i posted, i still can not find a single instance of this in a capture file. yes, i've read they are just exploiting holes in the scripting language, but like i said already, the fact still remains and i don't see "servercommand" listed in any packets associated with this. is it some other plain text command? i've been reading the wiki and http://community.bistudio.com/wiki/Category:Scripting_Commands_ArmA2 ..... please do clarify what im missing
-
I've spent all day removing hackers/script-kiddies off of my guys' server (ArmA 2 isn't my game but somehow I'm in charge of maintaining it, go figure) using wireshark.
Unfortunately i still cannot identify the packet(s) where the in-game admin is hijacked, or when the player's arma2 client who was logged into the in-game admin is locked up.
any ideas or insights?
-
I'm 100% for some packet info please.
Know what packets to specifically search a capture for would be very helpful.
-
a) negative, server does not have the DLC on it
b) the keys are the standard bi.bikey & bi2.bikey (in both locations)
c) yes, only full DLC players get kicked
d) i've reconfigured the server to use v1 signatures as of this posting, will report back later
e) i don't know
However, today i did read this:
http://forums.bistudio.com/showthread.php?t=120482
this person has the same problem but in reverse, he's a player getting kicked for having full DLC that isn't passing signature checks.
is it the v2 signatures? are they not 100% fully functional or?
-
For whatever reason, players who connect to the server are failing on BAF & PMC signature checks and are being kicked. Some players will fail upon initial connection and get kicked, some will fail after XYZ time period in game and get kicked. Some players are using steam and some are not. Some players are in the USA, some are not. Some players said they have all the addons are are not being kicked.
my new-server.cfg file
// // server.cfg // // comments are written with "//" in front of them. // -------------------------------------------------- // GLOBAL SETTINGS hostname="Custom Public OA 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 = "XXXXXXXXXX"; // Password to become server admin. When you're in Arma MP and connected to the server, type '#login xyz' //reportingIP = "armedass.master.gamespy.com"; // This is the default setting. If you change this, your server might not turn up in the public list. Leave empty for private servers. //reportingIP = "arma2pc.master.gamespy.com"; // In case of ArmA2 reportingIP = "arma2oapc.master.gamespy.com"; // For Operation Arrowhead logFile = "new-server.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[] = { "", "", "", "Welcome to the Server", "Feel free to join us on TS3", }; motdInterval=20; // Time interval (in seconds) between each message // -------------------------------------------------- // JOINING RULES checkfiles[] = {}; // Outdated. DO NOT USE maxPlayers=60; // 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 = 2; // Verifies the players files by checking them with the .bisign signatures. Works properly from 1.08 on // New signature version 2 relesea with 1.58 // verifySignatures=1 will check both v1 and v2 signatures. // verifySignatures=2 the server will reject clients using any addons which are signed by v1 signatures only. // v2 signatures are extension of v1 signatures. // v2 signature can be still understood by old servers and clients but it acts the same as v1 signature there // v1 signatures can be still understood by new versions, but they do not pass when extended test is required by the server used during v2 signature verification equalModRequired = 0; // Outdated. DO NOT USE. If set to 1, player has to use exactly the same -mod= startup parameter as the server. // -------------------------------------------------- // VOTING voteMissionPlayers=255; // Tells the server how many people must connect so that it displays the mission selection screen. voteThreshold=9; // 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 = 2; // Quality from 1 to 10 persistent = 1; // If 1, missions still run on even after the last player disconnected. // -------------------------------------------------- // SCRIPTING ISSUES onUserConnected = ""; // self-explaining onUserDisconnected = ""; doubleIdDetected = ""; regularCheck = ""; // -------------------------------------------------- // ArmA signature verification onUnsignedData = "kick (_this select 0)"; // unsigned data detected onHackedData = "kick (_this select 0)"; // tampering of the signature detected. use ban instead of kick once testing is complete onDifferentData = ""; // data with a valid signature, but different version than the one present on server detected BattlEye = 1; //Server to use BattlEye system // -------------------------------------------------- // MISSIONS CYCLE (see below) class Missions { class Mission_0 // name for the mission, can be anything { template = "co44_DomW.Takistan"; // omit the .pbo suffix difficulty = "regular"; // difficulty: recruit, regular, veteran or mercenary param1 = 90; // dress param2 = 23; // age }; }; // -------------------------------------------------- // LOGGING timeStampFormat=full; // Sets the timestamp format used on each report line in server-side RPT file. possible values are: none (default), short, fullmy new-arma2.cfg 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=131072; // 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=76800000; // 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=512; // 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=256; // 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=0; // Users with custom face or custom sound larger than this size are kicked when trying to connect.
my new-default.arma2oaprofile file
class Difficulties { class Regular { class Flags { 3rdPersonView = 1; // This turns 3rd(third) person view and group leader view on or off. Please never talk of this as "3D view" - ArmA is not an arcade game ! armor = 1; // Gives you improved body armor, tank armor etc autoAim = 0; // Enables auto aim when you're not looking through your weapon's scope. Also works with crosshair off. autoGuideAT = 0; // AT missiles will be automatically guided to their target. If 0, player has to lock onto the target. autoSpot = 1; // If you're close enough to an enemy, you'll report it without right-clicking. cameraShake = 1; clockIndicator = 1; // Displays the clock indicator on the left of your screen when giving/receiving orders like "At 11 o'clock, eemy man at 200 meters" deathMessages = 1; // Displays "XXX was killed by YYY" messages in multiplayer enemyTag = 0; // Displays information on enemy units friendlyTag = 1; // Displays information on friendly units. ONLY WORKS WITH 'Weaponcursor=0', eg crosshair on. hud = 1; // Shows you leaders location and your position in formation hudGroupInfo = 1; hudPerm = 1; // Shows HUD permanently hudWp = 1; // Shows Waypoints right after they're ordered to you hudWpPerm = 1; // Shows Waypoints permanently map = 1; // Shows symbols for all objects known to your gruop on the map. This will NOT disable the map itself ! netStats = 1; // Enables the scoreboard functionality in MP tracers = 0; // Displays tracers even of small arms that in real life would not have tracers ultraAI = 0; // Enables some kind of super AI that hears and sses more and has better tactics. This is for both friendly and enemy sides. unlimitedSaves = 1; // Enables saing permanently. For single player missions. But you then can only load the last save state. vonId = 1; // When using VoN, display the name of the player speaking. weaponCursor = 1; // Shows the crosshair for your weapon }; // These are the skills. Value may range from 0.000000 to 1.000000 skillFriendly = .75; // Friendly tactics skill precisionFriendly = .75; // Friendly shooting precision skillEnemy = 1; // Enemy tactics skill precisionEnemy = 0.5; // Enemy shooting precision }; }; // Sets the server default view distance. // Render distance is 3/4 of view distance - for 2000 metres, objects will be render up to 1500 metres // This maybe overidden by the mission viewDistance=4000; // Sets the server default terrain quality. Very High:10, Low:50 // This maybe overidden by the mission terrainGrid=10;my arma2oaserver launch string:
"C:\Program Files (x86)\Bohemia Interactive\ArmA 2\arma2oaserver.exe" -port=2325 -name=new-default -config=new-default\new-server.cfg -cfg=new-default\new-arma2.cfg -profiles=new-default
I had 2 of the players send me their report files:
Warning Message: Files "baf\addons\air_d_baf.pbo", "baf\addons\characters_d_baf.pbo", "baf\addons\characters_w_baf.pbo", "baf\addons\data_baf.pbo", "baf\addons\dubbing_baf.pbo", "baf\addons\languagemissions_baf.pbo", ... are not signed by a key accepted by this server. To play on this server, remove listed files or install additional accepted keys.
Warning Message: Files "pmc\addons\air_pmc.pbo", "pmc\addons\ca_pmc.pbo", "pmc\addons\characters_pmc.pbo", "pmc\addons\dubbingradio_pmc.pbo", "pmc\addons\dubbing_pmc.pbo", "pmc\addons\languagemissions_pmc.pbo", ... are not signed by a key accepted by this server. To play on this server, remove listed files or install additional accepted keys.
Is the server missing bikeys? The server is patched to 1.59 and bi.bikey as well as bi2.bikey both exist in .\Keys\ and .\Expansion\Keys\
Is it a configuration problem on my end?
This OA server is on a box with a 3GHz quad core CPU, 4GB of RAM, and a 100Mb pipe (verified using speedtest.net)
All advice is truly appreciated and please forgive my ignorance, have been config'n various servers for about a decade now but this is my first Arma2 server.
Webpages I've been reading to get this server configured:
http://www.kellys-heroes.eu/files/tutorials/dedicated/
http://community.bistudio.com/wiki/server.cfg
http://community.bistudio.com/wiki/arma2.cfg
http://community.bistudio.com/wiki/server.armaprofile
http://community.bistudio.com/wiki/basic.cfg
http://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
http://community.bistudio.com/wiki/Arma2:_Startup_Parameters
-
I recently purchased Arma II Combined Operations.
I Installed ARMA II & Patch 1.08
I Installed ARMA II Operation Arrowhead & Patch 1.57
In Arma II all the sound is all staticy / screeching / scratchy (even the music is fubar).
In ARMA II Operation Arrowhead the sound works 100% fine, IDEAS?
---------- Post added at 06:21 AM ---------- Previous post was at 05:08 AM ----------
Problem SOLVED!
turns out installing patch 1.08 before installing Operation Arrowhead was causing the problem... go figure...

Problems with sound
in ARMA 3 - TROUBLESHOOTING
Posted
reinstalled the june 2010 directx redistributable package, problem solved. last time i played arma 3 was in december and it worked fine, not sure what happened in the interim to break things...
that pack is in the arma 3 folder:
.\Steam\steamapps\common\Arma 3\_CommonRedist\DirectX\Jun2010\DXSETUP.exe