Gaffa 0 Posted October 23, 2007 Quote[/b] ]This removes mission makers control over their own creations and might even break the missions, no?I mean someone might bother to make realistic weapon loadouts for an infantry squad and the players just cheat their way by spawning a crate full of SF kit. Changing things like visibility, weather conditions, time of day, etc can and will "break" missions (both functionality and design) . Quote[/b] ]Although this 'tool' is very nicly made and has a lot of options, imho i think as Heatseeker mentioned is maybe not as good as it looks. Don't get me wrong, it is nice to see people like you keep making this kind of stuff...But imho it should be editable in the flow as there isn't a general setting that can win for all. It would be nice to play a certain mission at nighttime (if mission doesn't contain timeselector) or add fog or whatever setting is availible, but it would be better if you can modify it at all times. Haven't tested it or checked with others that tested it, but afaik you will proberbly restart the server to take new settings active. Just my opinion. I agree, but at the end of the day its up to the server admin. If they wish to cheat their way through missions, so be it. It just goes to show that mission was very well made I wont lose any sleep if people abuse my missions, its how I play the missions on our server that matters the most Keep up the great work Doolittle!! I'm a very happy man now I can get rid of these XAM cheats Share this post Link to post Share on other sites
Crowe 0 Posted October 23, 2007 Nice. Please hide sourcecode from Public, cheaters may find it usefull too. Share this post Link to post Share on other sites
Doolittle 0 Posted October 23, 2007 Here's something more advanced which lets you pick and choose what mods you want people to have loaded: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">" private [""_denyPatches"", ""_allowPatches"", ""_myIn"", ""_cfg"", ""_str"", ""_boot"", ""_i""]; _denyPatches = [""XAM_classes""]; _allowPatches = []; _myIn = { private [""_ret""]; _ret = false; { if (_x == _this select 0) exitWith {_ret = true}; } forEach (_this select 1); _ret; }; _cfg = configFile / ""CfgPatches""; _str = """"; _boot = false; for [{_i = 0}, {_i < count _cfg}, {_i = _i + 1}] do { if (not ([configName (_cfg select _i), [""access"", ""CAData"", ""CAAnimals"", ""CA_Anims"", ""CA_Anims_Char"", ""CABuildings"", ""CAIntroAnims"", ""CALanguage"", ""CAMiscUS"", ""CA_Missions"", ""CA_Missions_Armory1"", ""CAPlants"", ""CARoads"", ""CARocks"", ""CASigns"", ""CASounds"", ""CAFonts"", ""CAVoice"", ""CAWeapons"", ""CAUI"", ""CAWeapons3"", ""CAweapons3_aks74pso"", ""CAweapons3_ksvk"", ""CAweapons3_m107"", ""CAweapons3_m16a4"", ""CAweapons3_m16a4_acg"", ""CAweapons3_m16a4_gl"", ""CACharacters"", ""CAMisc"", ""Sara"", ""CATracked"", ""CAWater"", ""CAweapons3_m16a4_acg_gl"", ""CAWheeled"", ""CAAir"", ""Desert"", ""CAWeapons3_ammocrates"", ""CAWheeled3"", ""CAWheeled3_M1030"", ""CAWheeled3_TT650"", ""CAA10"", ""CAAir3"", ""CAAir3_Su34""]] call myIn)) then { if (([configName (_cfg select _i), _denyPatches] call myIn) or (count _allowPatches > 0 and not ([configName (_cfg select _i), _allowPatches] call myIn))) then { [playerSide, ""Base""] sideChat format [""You are not allowed to have %1 loaded"", configName (_cfg select _i)]; _boot = true; }; _str = _str + configName (_cfg select _i) + "" ""; }; }; if (_boot) then { player setVehicleInit format [""[playerSide, """"Base""""] sideChat """"%1 has these mods loaded: %2"""""", name player, _str]; processInitCommands; [] spawn { [playerSide, ""Base""] sideChat ""Please leave now or you will be locked up in 20 seconds""; sleep 10; [playerSide, ""Base""] sideChat ""10 seconds left!""; sleep 10; [playerSide, ""Base""] sideChat ""Sorry! Now you must ALT-F4""; while {true} do {disableUserInput true}; }; } else { [playerSide, ""Base""] sideChat format [""You have these mods loaded: %1"", _str]; }; " call CreateLogicCode; Notice the <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_denyPatches = [""XAM_classes""]; _allowPatches = []; If you put anythig in _denyPatches and they have it then they will be keyboard locked up in 20 seconds. If you put anything in _allowPatches then they must have it and nothing else or they will be locked up as well. (It would be nice if BIS gave us the ability to disconnect them instead) Sample globalserver.sqf Doolittle Share this post Link to post Share on other sites
jasono 0 Posted October 23, 2007 Nice.Please hide sourcecode from Public, cheaters may find it usefull too. This is a server side script? I don't think making it non-public available would do much as they can't do anything to it while it's on the server. Plus its custom for each server anyway, unless the server tells everyone its source, a cheater won't know what it does. Share this post Link to post Share on other sites
Nutty_101 0 Posted October 24, 2007 Plus anyone can see that data being sent across the network Share this post Link to post Share on other sites
Gaffa 0 Posted October 24, 2007 Hmm it doesn't seem to work I copied what you put in the above Doolittle to disable the XAM mod, but when I connect to my server with XAM, it says in sidechat... "YOU HAVE THESE MODS LOADED" then nothing else happens?? Am I suppose to edit something? Share this post Link to post Share on other sites
Doolittle 0 Posted October 24, 2007 What mods did it report? Did it show XAM_CLASSES as one? Share this post Link to post Share on other sites
Doolittle 0 Posted October 24, 2007 This checks to make sure no one has addons that use event handlers. <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">" private [""_cfg"", ""_str"", ""_i"", ""_j"", ""_k"", ""_tmp""]; _cfg = configFile / ""CfgVehicles""; _str = """"; for [{_i = 0}, {_i < count _cfg}, {_i = _i + 1}] do { _tmp = _cfg select _i; if (isClass _tmp) then { for [{_j = 0}, {_j < count (_cfg select _i)}, {_j = _j + 1}] do { _tmp = (_cfg select _i) select _j; if (isClass _tmp and configName _tmp == ""EventHandlers"") then { for [{_k = 0}, {_k < count ((_cfg select _i) select _j)}, {_k = _k + 1}] do { _tmp = ((_cfg select _i) select _j) select _k; if (isText _tmp) then {_str = _str + getText _tmp}; }; }; }; }; }; if (not isServer and _str != ""(_this select 0) setFlagTexture """"\ca\misc\data\usa_vlajka.pac""""(_this select 0) setFlagTexture """"\ca\misc\data\jih_vlajka.paa""""(_this select 0) setFlagTexture """"\ca\misc\data\sever_vlajka.paa""""(_this select 0) inflame true[(_this select 0)] exec """"ca\misc\scripts\PopUpTarget.sqs"""""") then { player setVehicleInit format [""[playerSide, """"Base""""] sideChat """"%1 is using a mod with an event in it"""""", name player]; processInitCommands; [] spawn { [playerSide, ""Base""] sideChat ""Please leave now or you will be locked up in 20 seconds""; sleep 10; [playerSide, ""Base""] sideChat ""10 seconds left!""; sleep 10; [playerSide, ""Base""] sideChat ""Sorry! Now you must ALT-F4""; while {true} do {disableUserInput true}; }; } else { [playerSide, ""Base""] sideChat ""You have no mods with events in them""; }; " call CreateLogicCode; sample_globalserver.sqf Note some addons may use events a lot like adding effects, etc. so we will need to sort this out. Adding this code may remove a lot of people from your server that use addons. I am posting this for help... if anyone out there knows what I mean and what I realized last night. (No not that, the other thing) I trust everyone is running a server with this in their server.cfg? <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">checkFiles[] = { "Dta\bin.pbo", "Dta\core.pbo", "AddOns\A10\config.bin", "AddOns\A10\config.cpp", "AddOns\air3\config.bin", "AddOns\air3\config.cpp", "AddOns\air\config.bin", "AddOns\air\config.cpp", "AddOns\animals\config.bin", "AddOns\animals\config.cpp", "AddOns\Anims\config.bin", "AddOns\Anims\config.cpp", "AddOns\buildings\config.bin", "AddOns\buildings\config.cpp", "AddOns\Ca\config.bin", "AddOns\Ca\config.cpp", "AddOns\characters\config.bin", "AddOns\characters\config.cpp", "AddOns\desert\config.bin", "AddOns\desert\config.cpp", "AddOns\IntroAnims\config.bin", "AddOns\IntroAnims\config.cpp", "AddOns\language\config.bin", "AddOns\language\config.cpp", "AddOns\misc\config.bin", "AddOns\misc\config.cpp", "AddOns\miscUS\config.bin", "AddOns\miscUS\config.cpp", "AddOns\missions\config.bin", "AddOns\missions\config.cpp", "AddOns\plants\config.bin", "AddOns\plants\config.cpp", "AddOns\roads\config.bin", "AddOns\roads\config.cpp", "AddOns\rocks\config.bin", "AddOns\rocks\config.cpp", "AddOns\sara\config.bin", "AddOns\sara\config.cpp", "AddOns\signs\config.bin", "AddOns\signs\config.cpp", "AddOns\sounds\config.bin", "AddOns\sounds\config.cpp", "AddOns\tracked\config.bin", "AddOns\tracked\config.cpp", "AddOns\ui\config.bin", "AddOns\ui\config.cpp", "AddOns\UIFonts\config.bin", "AddOns\UIFonts\config.cpp", "AddOns\voice\config.bin", "AddOns\voice\config.cpp", "AddOns\water\config.bin", "AddOns\water\config.cpp", "AddOns\weapons3\config.bin", "AddOns\weapons3\config.cpp", "AddOns\weapons\config.bin", "AddOns\weapons\config.cpp", "AddOns\wheeled3\config.bin", "AddOns\wheeled3\config.cpp", "AddOns\wheeled\config.bin", "AddOns\wheeled\config.cpp" }; Doolittle Share this post Link to post Share on other sites
.kju 3242 Posted October 24, 2007 anims, characters and ui --PBO-- is modified by 1.08 hotfix and QC. Didn't check if it is the config.cpp or other files. Only to let you know. Share this post Link to post Share on other sites
Gaffa 0 Posted October 24, 2007 What mods did it report? Did it show XAM_CLASSES as one? All it comes up with is... "YOU HAVE THESE MODS LOADED" in sidechat, those are the exact words. It doesn't tell you which mod you have loaded. Share this post Link to post Share on other sites
ANG3L 0 Posted October 25, 2007 This checks to make sure no one has addons that use event handlers.<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">" private [""_cfg"", ""_str"", ""_i"", ""_j"", ""_k"", ""_tmp""]; _cfg = configFile / ""CfgVehicles""; _str = """"; for [{_i = 0}, {_i < count _cfg}, {_i = _i + 1}] do { _tmp = _cfg select _i; if (isClass _tmp) then { for [{_j = 0}, {_j < count (_cfg select _i)}, {_j = _j + 1}] do { _tmp = (_cfg select _i) select _j; if (isClass _tmp and configName _tmp == ""EventHandlers"") then { for [{_k = 0}, {_k < count ((_cfg select _i) select _j)}, {_k = _k + 1}] do { _tmp = ((_cfg select _i) select _j) select _k; if (isText _tmp) then {_str = _str + getText _tmp}; }; }; }; }; }; if (not isServer and _str != ""(_this select 0) setFlagTexture """"\ca\misc\data\usa_vlajka.pac""""(_this select 0) setFlagTexture """"\ca\misc\data\jih_vlajka.paa""""(_this select 0) setFlagTexture """"\ca\misc\data\sever_vlajka.paa""""(_this select 0) inflame true[(_this select 0)] exec """"ca\misc\scripts\PopUpTarget.sqs"""""") then { player setVehicleInit format [""[playerSide, """"Base""""] sideChat """"%1 is using a mod with an event in it"""""", name player]; processInitCommands; [] spawn { [playerSide, ""Base""] sideChat ""Please leave now or you will be locked up in 20 seconds""; sleep 10; [playerSide, ""Base""] sideChat ""10 seconds left!""; sleep 10; [playerSide, ""Base""] sideChat ""Sorry! Now you must ALT-F4""; while {true} do {disableUserInput true}; }; } else { [playerSide, ""Base""] sideChat ""You have no mods with events in them""; }; " call CreateLogicCode; sample_globalserver.sqf Note some addons may use events a lot like adding effects, etc. so we will need to sort this out. Adding this code may remove a lot of people from your server that use addons. I am posting this for help... if anyone out there knows what I mean and what I realized last night. (No not that, the other thing) I trust everyone is running a server with this in their server.cfg? <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">checkFiles[] = { "Dta\bin.pbo", "Dta\core.pbo", "AddOns\A10\config.bin", "AddOns\A10\config.cpp", "AddOns\air3\config.bin", "AddOns\air3\config.cpp", "AddOns\air\config.bin", "AddOns\air\config.cpp", "AddOns\animals\config.bin", "AddOns\animals\config.cpp", "AddOns\Anims\config.bin", "AddOns\Anims\config.cpp", "AddOns\buildings\config.bin", "AddOns\buildings\config.cpp", "AddOns\Ca\config.bin", "AddOns\Ca\config.cpp", "AddOns\characters\config.bin", "AddOns\characters\config.cpp", "AddOns\desert\config.bin", "AddOns\desert\config.cpp", "AddOns\IntroAnims\config.bin", "AddOns\IntroAnims\config.cpp", "AddOns\language\config.bin", "AddOns\language\config.cpp", "AddOns\misc\config.bin", "AddOns\misc\config.cpp", "AddOns\miscUS\config.bin", "AddOns\miscUS\config.cpp", "AddOns\missions\config.bin", "AddOns\missions\config.cpp", "AddOns\plants\config.bin", "AddOns\plants\config.cpp", "AddOns\roads\config.bin", "AddOns\roads\config.cpp", "AddOns\rocks\config.bin", "AddOns\rocks\config.cpp", "AddOns\sara\config.bin", "AddOns\sara\config.cpp", "AddOns\signs\config.bin", "AddOns\signs\config.cpp", "AddOns\sounds\config.bin", "AddOns\sounds\config.cpp", "AddOns\tracked\config.bin", "AddOns\tracked\config.cpp", "AddOns\ui\config.bin", "AddOns\ui\config.cpp", "AddOns\UIFonts\config.bin", "AddOns\UIFonts\config.cpp", "AddOns\voice\config.bin", "AddOns\voice\config.cpp", "AddOns\water\config.bin", "AddOns\water\config.cpp", "AddOns\weapons3\config.bin", "AddOns\weapons3\config.cpp", "AddOns\weapons\config.bin", "AddOns\weapons\config.cpp", "AddOns\wheeled3\config.bin", "AddOns\wheeled3\config.cpp", "AddOns\wheeled\config.bin", "AddOns\wheeled\config.cpp" }; Doolittle Yeah thats pretty much what we have with the checkfile's bit above doolittle. Just regarding what Gaffa said yeah we have being having a spot of bother with this xam code; Quote[/b] ]"setViewDistance 1300; setTerrainGrid 50; sleep 3; titleText [format [""Welcome to the game, %1"", name player], ""PLAIN""]; " call CreateLogicCode; " if (isClass (configFile / ""CfgPatches"" / ""XAM_classes"")) then { player sideChat ""You are running XAM. Please leave now or you will be locked up in 30 seconds.""; [] spawn { sleep 20; player sideChat ""10 seconds left!""; sleep 10; player sideChat ""Sorry! Now you must ALT-F4""; while {true} do {disableUserInput true}; }; }; " call CreateLogicCode; Doesn't seem to lock them out though. Like the idea of the other code snippets above being able to allow normal mods like sound mods to run, but stopping people running other customs like weapons, recoil, and such because when people start over righting core game files and stuff, there's no way of really knowing what they are bloody doing. but with regards to the event handles wouldn't this stop such mod packs like eu.sixsence, or arma effects etc that would to me come across as legitimate mods? We don't mind mods within reason, but if mods in question are going to cause our server to b0rk all the time then where going to haft to filter them. Another reason why I think BI should have a universal mod folder in the arma directory, that the engine refers to stop people over righting core game files for Pete's sake. Client says left, server says right, client says left left left server b0rks. Share this post Link to post Share on other sites
Guest Posted October 25, 2007 I trust everyone is running a server with this in their server.cfg?<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">checkFiles[] = { "Dta\bin.pbo", "Dta\core.pbo", "AddOns\A10\config.bin", "AddOns\A10\config.cpp", "AddOns\air3\config.bin", "AddOns\air3\config.cpp", "AddOns\air\config.bin", "AddOns\air\config.cpp", "AddOns\animals\config.bin", "AddOns\animals\config.cpp", "AddOns\Anims\config.bin", "AddOns\Anims\config.cpp", "AddOns\buildings\config.bin", "AddOns\buildings\config.cpp", "AddOns\Ca\config.bin", "AddOns\Ca\config.cpp", "AddOns\characters\config.bin", "AddOns\characters\config.cpp", "AddOns\desert\config.bin", "AddOns\desert\config.cpp", "AddOns\IntroAnims\config.bin", "AddOns\IntroAnims\config.cpp", "AddOns\language\config.bin", "AddOns\language\config.cpp", "AddOns\misc\config.bin", "AddOns\misc\config.cpp", "AddOns\miscUS\config.bin", "AddOns\miscUS\config.cpp", "AddOns\missions\config.bin", "AddOns\missions\config.cpp", "AddOns\plants\config.bin", "AddOns\plants\config.cpp", "AddOns\roads\config.bin", "AddOns\roads\config.cpp", "AddOns\rocks\config.bin", "AddOns\rocks\config.cpp", "AddOns\sara\config.bin", "AddOns\sara\config.cpp", "AddOns\signs\config.bin", "AddOns\signs\config.cpp", "AddOns\sounds\config.bin", "AddOns\sounds\config.cpp", "AddOns\tracked\config.bin", "AddOns\tracked\config.cpp", "AddOns\ui\config.bin", "AddOns\ui\config.cpp", "AddOns\UIFonts\config.bin", "AddOns\UIFonts\config.cpp", "AddOns\voice\config.bin", "AddOns\voice\config.cpp", "AddOns\water\config.bin", "AddOns\water\config.cpp", "AddOns\weapons3\config.bin", "AddOns\weapons3\config.cpp", "AddOns\weapons\config.bin", "AddOns\weapons\config.cpp", "AddOns\wheeled3\config.bin", "AddOns\wheeled3\config.cpp", "AddOns\wheeled\config.bin", "AddOns\wheeled\config.cpp" }; Doolittle Probably a noob question, but is that the only correct way to check files? I ask that since you ask it so "clearly" (I trust everyone is running a server). On our server I check this: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">{ "dta\bin.pbo", "Addons\wheeled3.pbo", "Addons\weapons3.pbo", "Addons\A10.pbo", "Addons\weapons\config.cpp", "Addons\weapons\config.bin", "Addons\wheeled\config.cpp", "Addons\wheeled\config.bin", "Addons\tracked\config.cpp", "Addons\tracked\config.bin", "Addons\sara\config.cpp", "Addons\sara\config.bin", "Addons\air\config.cpp", "Addons\air\config.bin", "Addons\miscUS\config.cpp", "Addons\miscUS\config.bin" }; Do you recommend I use your check files instead cause it checks more and different files? Just curious, I dont want to discuss this and make this go offtopic. I just want to be sure I understand you correctly I am not checking the correct files. Share this post Link to post Share on other sites
.kju 3242 Posted October 25, 2007 That's our server.cfg: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">hostname="[ 2ndTry ]"; passwordAdmin="..."; password="..."; motd[]= { "2ndTry Server - hosted by painFac" }; motdInterval=7; voteThreshold=0.50; voteMissionPlayers=1; equalModRequired=0; verifySignatures=1; RegularCheck="{}"; onHackedData="kick (_this select 0)"; onDifferentData="{}"; //onDifferentData = "kick (_this select 0)"; checkfiles[]={"dta\core.pbo","dta\bin.pbo"}; kickduplicate=1; disableVON=1; vonCodecQuality=1; logFile="server_console.log"; reportingIP="armedass.master.gamespy.com"; MaxMsgSend=128; MaxSizeGuaranteed=512; MinErrorToSend=0.01; MinBandwidth=131072; MaxBandwidth=; MaxCustomFileSize=50000; maxPlayers=64; persistent=1; For more info see here. Share this post Link to post Share on other sites
Guest Posted October 26, 2007 MaxMsgSend=128;MaxSizeGuaranteed=512; MinErrorToSend=0.01; MinBandwidth=131072; MaxBandwidth=; MaxCustomFileSize=50000; Shouldnt that be in your arma.cfg (profile) of the server? Share this post Link to post Share on other sites
.kju 3242 Posted October 26, 2007 The server was set up by a friend of mine. Actually I am not sure if it works. We have: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">arma_server.exe -config=server.cfg According to BIKI: ArmA:_Dedicated_Server I guess in our case the server.cfg is the arma.cfg, as with the -config param you can rename the file and/or point to a different location of the line. Good point Foxhound, lets see how this turns out. PS: YourServerUser.ArmAprofile is a completely different file (AFAIK). That one is for difficulty settings. Share this post Link to post Share on other sites
sickboy 13 Posted October 26, 2007 arma.cfg needs the bandwidth settings server.cfg needs the server settings, passwords, missions etc username.armaprofile needs the per-difficulty settings Share this post Link to post Share on other sites
Guest Posted October 26, 2007 arma.cfg needs the bandwidth settingsserver.cfg needs the server settings, passwords, missions etc username.armaprofile needs the per-difficulty settings Thanks for the confirmation. Thats how I have set up our server as well. Share this post Link to post Share on other sites
Doolittle 0 Posted October 30, 2007 What mods did it report? Did it show XAM_CLASSES as one? All it comes up with is... "YOU HAVE THESE MODS LOADED" in sidechat, those are the exact words. It doesn't tell you which mod you have loaded. Okay, I fixed that (see sample_globalserver.sqf). It's just it saw you had NO mods loaded so it shouldn't have said anything. Share this post Link to post Share on other sites
cross 1 Posted November 2, 2007 arma.cfg needs the bandwidth settingsserver.cfg needs the server settings, passwords, missions etc username.armaprofile needs the per-difficulty settings some off topic stuff but... and all can be referred to specific files in any folder using -profiles= , -config= , -cfg= parameters in the server startup. Share this post Link to post Share on other sites
reciprocity 1 Posted November 6, 2007 What would the command be to say, drop an ammo crate with all the weapons and loads of ammo? Is there a list of commands we can send to createlogiccode? (I'm an ArmA newb) Share this post Link to post Share on other sites
Blitzer 0 Posted November 29, 2007 I putted the SQF in arma root folder and the .pbo in the addon folder. Should work than? But it doesnt I get error about the the script and shows the blackbox in upper left corner. How is this possible. And yes where can i get a list with command so i can add and delete stuff? Share this post Link to post Share on other sites
Shins 0 Posted December 1, 2007 Is it possible to use GSC in conjunction with RUG DSAI sounds? http://www.flashpoint1985.com/cgi-bin....80;st=0 The scripts add ambient chatter to troops similar to those seen in ECP for OFP. At the moment you have to add the scripts to a mission but couldn't this be done usings GSC? Would be awesome to have this running on all clients just by adding the scripts to the GSC config!!! Share this post Link to post Share on other sites
Blitzer 0 Posted December 4, 2007 so the maker aint alive anymore or what? or is there somebody else who knows the solution? Share this post Link to post Share on other sites