Jump to content

icomrade

Moderator
  • Content Count

    493
  • Joined

  • Last visited

  • Days Won

    20

icomrade last won the day on February 13

icomrade had the most liked content!

5 Followers

About icomrade

  • Rank
    Epoch Contributor

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

1619 profile views
  1. Yeah it needs an exception in publicvariable.txt. to execute every 30 minutes you just need to execute LogMyLogin = [getPlayerUID player]; publicVariableServer "LogMyLogin"; in a loop + uisleep 1800; in the most basic example [] spawn { while {1 == 1} do { LogMyLogin = [getPlayerUID player]; publicVariableServer "LogMyLogin"; uisleep 1800; }; };
  2. I'm not sure if BE even cares about ArmA 2 any more, not to mention BIS is the one paying the BE developers, not me, so my input is worthless and will probably be ignored. I don't know the methodology infistar uses to detect a scripts filter bypass, if it's an external library (dll) like the hive extension I fail to see a severe performance impact for logging a single line... this assumes you rotate your filters so the tool isn't searching a several MB log file and you're not trying to log something intensive. Also with infistar, the script filter is so weak and open I'm not sure you even need a bypass; i.e. when people just modify their mission file in a special way. But at the end of the day, not every hack needs a script filter bypass and doesn't even need to be based on SQF. So in that case, then obviously it won't prevent it, but it's a free extra layer of protection. Also logging every minute is excessive, something like every 30 minutes is probably alright
  3. Like you said, you can execute the 777 call at any point in the game. if you are clever as an admin you could periodically or manually ping players with an embedded client side event handler then execute the 777 call; this is just the framework for more advanced methods of detection which can be as frequent or sparse as you like if performance is bad from your scripts filter I've had success just doing it at login, but like Merlijn said some new version that won't suffice. I mean IMO Infistar lags the game hard and doesn't do anything to stop educated hackers, but it stops your common cheater, and people still use it? This is the same, albeit much much more light weight (and free) The OP was written to be drag and drop for admins who don't want to make their own way of implementing the tool, and probably isn't the most complete overview or use guide of it. Also I should note you will need to rotate your scripts.log (preferably every restart) and make sure you don't have excessive logging in it as a large file size will greatly slow down the scanner and probably your server
  4. I've finally had time to build the Hive extension with a custom player check for a scripts bypass. it's rather basic but may still be quite effective for the majority of those bypassing the scripts filter. To start you must download this custom HiveExt.dll (includes virtual garage calls) and edit your HiveExt.ini as in the one in the linked repo (add the Battleye section to your Hive.ini). https://github.com/icomrade/icomradeHiveEpoch/tree/master/Pre-Compiled Some client side code is required, you can place it inside the !isDedicated check of init.sqf: https://github.com/EpochModTeam/DayZ-Epoch/blob/Release_1.0.6.2/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/init.sqf#L81 waitUntil {(getPlayerUID player) != ""}; LogMyLogin = [getPlayerUID player]; publicVariableServer "LogMyLogin"; You also need to have a line which you log in scripts.txt. the simplest way to get 1 line per login is by adding a textLog to one vehicle's init line for example add an object with an init line to your mission.sqm, or append you desired textLog line to it (this example uses textLog 'Amadeus Amadeus log me Amadeus'; ) class Vehicles { class Item0 { position[]={6391.9619, -0.29052943, 7790.3203}; azimut=487.7664; id=0; side=EMPTY; vehicle="TK_GUE_WarfareBLightFactory_base_EP1"; init="this setPos [6391.9619, 7790.3203, -0.29052943]; textLog 'Amadeus Amadeus log me Amadeus';"; skill=1; }; items=1; }; Server side code is also required, in server_functions.sqf add after the Server_hiveWrite compile! https://github.com/EpochModTeam/DayZ-Epoch/blob/Release_1.0.6.2/SQF/dayz_server/init/server_functions.sqf#L172 DZE_LegitPlayers = []; DayZ_LegitCheck = { private ["_closeEnough","_index"]; _closeEnough = false; _index = -1; { private ["_PUID","_lastCheckTime"]; _PUID = _x select 0; _lastCheckTime = _x select 1; if (_PUID == _this select 0) exitWith { if ((_lastCheckTime + 60) > diag_tickTime_) then { _closeEnough = true; } else { _index = _forEachIndex; }; }; } forEach DZE_LegitPlayers; if (!_closeEnough) then { if (_index >= 0) then { DZE_LegitPlayers set [_index, [(_this select 0), Diag_TickTime]]; } else { DZE_LegitPlayers set [(count DZE_LegitPlayers), [(_this select 0), Diag_TickTime]]; }; _key = format["CHILD:777:%1:",_this select 0]; _key call server_hiveWrite; }; }; "LogMyLogin" addPublicVariableEventHandler {(_this select 1) call DayZ_LegitCheck;}; Finally be sure to add the log line to your battleye filter: scripts.txt!!! for example //check one thing at login 1 "Amadeus" Edit: You may want to manually review these bans, or not idc, but there are sometimes false positives. i.e. the scripts.txt filter fails to log and a legit player will not show up in the scripts.log, subsequently resulting in a ban (strange behavior, probably an issue with the scripts filter on battleye's end). I've observed failure to log on myself when testing, so I use a temp list and transfer overto my real ban list after review
  5. The A2 OA 1.64 update will add callExtension support so you should be able to use the linux version of extDB for hive functionality. I haven't tested it yet, but the hive pbo will need some modification
  6. I'm not seeing any hive calls for procedures 800-803, which is what I used for the virtual garage HiveExt. make sure you've installed the server side pbo and SQF script modifications correctly Edit: Also I made the hive source for VG public. The source also includes a very basic script.txt scanner to ensure players are not using a script filter bypass. Note: as of right now I don't have a precompiled copy handy so for now you have to build it yourself https://github.com/icomrade/icomradeHiveEpoch
  7. If you mean per weapon, It's hard coded, you can't do it directly. But, actually you may be able to edit the handledamage EH, and multiply damage there, I haven't tested it though. https://forums.bohemia.net/forums/topic/174314-how-to-assign-damage-multiplier/
  8. Actually, it seems he is running overpoch but does not have the overwatch addons loaded on the server, hence the tons of config errors/warning. this would be more obvious if a complete client rpt was posted which shows the addons loaded. Although, I'm not sure that would fix gear not saving in the safes
  9. The garage table is tied to the Object DB which can be separated from the per-instance DB, and shared between servers. You can test this out on a local server to ensure it meets your needs by customizing the highlighted config group in HiveExt.ini and matching the settings on all your servers. Ensure VGTable name is also the same on all your servers However, as a side effect you will also need to copy your object table contents to the shared ObjectDB https://github.com/oiad/virtualGarage/blob/master/DZE_Server_Config/HiveExt.ini#L86-L97
  10. it's in the mission init.sqf. If you are using a safezone script then you should set the variable DZE_SafeZonePosArray = []; otherwise, use as linked. Define in the same position as linked. https://github.com/EpochModTeam/DayZ-Epoch/blob/Release_1.0.6.2/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/init.sqf#L64 Edit: as a server admin/owner you should be playing with -showscripterrors enabled to ensure there are no errors in your server client side, and checking your server's RPT file to ensure there are no server side errors. You should also be able to determine how to fix these errors, but we are always here to help
  11. use vg_tiedToPole = false; the garage will be a per-player storage and other players cannot access another. I will likely look at adding an authorized player list, similar to a plot pole, when I get time.
  12. Oops that error is my fault change line 22 from: _vgDisplCtl ctrlSetText format["%1 (free)", localize "STR_VG_MAINTAIN_GARAGE", vg_maintainCost, _itemText]; To: _vgDisplCtl ctrlSetText format["%1 (free)", localize "STR_VG_MAINTAIN_GARAGE"];
  13. For further clarification: The mods section is for mod releases The questions section is for questions -> Scripting sub forum would be the second best place to post, behind just asking the question in the author's release thread. Also of note: saying you're sorry or didn't know where to post doesn't make maintaining a tidy forum any less tedious, or unnecessary/misplaced threads any less annoying. please try to understand the organization of the forum, I feel it is quite clearly laid out in the forum names
  14. why not just create triggers which set a maintenance cost variable which would be much more dynamic than doing base on distance from trader. Or just use the distance command if you don't care, for example '(player distance zonestary) < 1000;' you will of course have to modify the maintain file accordingly
  15. well it probably doesn't work because your server_playerLogin file is missing lines of code essential to the variables actually doing anything. Please ensure your server is properly updated to 1.0.6.2 by comparing files between those in the server pack and your dayz_server.pbo (Notepad++ has an excellent compare plugin). You can see the code required highlighted here: https://github.com/EpochModTeam/DayZ-Epoch/blob/eaaedf21c057cb183d169c133fc49e156b61f2bc/SQF/dayz_server/compile/server_playerLogin.sqf#L119-L129
×
×
  • Create New...