Jump to content

Search the Community

Showing results for tags 'windows'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • BOHEMIA INTERACTIVE
    • BOHEMIA INTERACTIVE - NEWS
    • BOHEMIA INTERACTIVE - JOBS
    • BOHEMIA INTERACTIVE - GENERAL
  • FEATURED GAMES
    • Vigor
    • DAYZ
    • ARMA 3
    • ARMA 2
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • ARGO
    • TAKE ON MARS
    • TAKE ON HELICOPTERS
    • CARRIER COMMAND: GAEA MISSION
    • ARMA: ARMED ASSAULT / COMBAT OPERATIONS
    • ARMA: COLD WAR ASSAULT / OPERATION FLASHPOINT
    • IRON FRONT: LIBERATION 1944
    • BACK CATALOGUE
  • OFFTOPIC
    • OFFTOPIC
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Die Hard OFP Lovers' Club's Topics
  • Japan in Arma's Topics
  • Arma 3 Photography Club's Discussions
  • The Order Of the Wolfs- Unit's Topics
  • 4th Infantry Brigade's Recruitment
  • 11th Marine Expeditionary Unit OFFICIAL | 11th MEU(SOC)'s 11th MEU(SOC) Recruitment Status - OPEN
  • Legion latina semper fi's New Server Legion latina next wick
  • Legion latina semper fi's https://www.facebook.com/groups/legionlatinasemperfidelis/
  • Legion latina semper fi's Server VPN LEGION LATINA SEMPER FI

XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 10 results

  1. Fast Server Setup

    I made this quick video tutorial to help out with server setup.
  2. I put together my collection of files that I use to quickly make a dedicated windows server. GitHub Link -> Serverfiles Server Files Files required for a dedicated Arma III server on Windows. DirectX Visual C++ Redistributable 2015 x86 and x64 You also need steamcmd from here -> SteamCMD File Topology 3 Directories are required. You can use any local, virtual or network attached drive. E:\A3Files E:\steamcmd E:\A3S1
  3. In the past I've noticed issues with performance that coincide with high memory use by the MsMpEng.exe service, which is the background 'real-time scanning' by Windows Defender. The problem seemed to go away, but now has returned over the last week. Thus far I have followed the advice from Answers Microsoft, changing Defender's Schedule and adding MsMpEng.exe to Defender's exceptions. However, the issue has persisted. I began booting things up step-by-step to see where the issue kicks in. When completely idle (no apps launched), the anti-malware service would run, but usually at a low level and if it did spike it wouldn't be as extreme as when playing Arma and would subside shortly. With Steam launched, the disk use rises (around 60-80% typical), with the service appearing to be the primary guzzler of disk use. However, shortly after launch things return to a 'stable' state. The same cannot be said once the launcher is run. Disk use spikes to 80-100%, with MsMPEng.exe being the primary consumer at between 60MB/s and 80MB/s. It continues to fluctuate for as long as I have the launcher open, even if I do nothing with it, and will subside once it is closed after a little while. I have tried adding the arma3launcher.exe service to Defender's exceptions and have restarted since...but Defender doesn't seem to be paying any attention. Would appreciate some advice on next steps from somebody a bit more familiar with such things. Cheers, Law
  4. I've got a little problem with my dedicated server and probably need a small hint on how to fix it. This is the starting situation: - Windows Server 2016 - running A3 stable dedicated x64 - with the mission Domination!A3 3.90 from Xeno - having a headless client connected - and with the ACE3 and RHS mods as well as ASR AI 3. - Important part of the startparameters: " -maxMem=8192 -cpuCount=8 -enableHT -hugepages -filePatching -bandwidthAlg=2 " So all in all, nothing out of the ordinary. However, this is my problem: Whenever I start the dedicated server and the mission, the servers ram fills up in the following hours - ignoring the "maxMem" parameter - until my virtual machine reaches its maximum (Arma3 is at 35GB at this point), then fills the pagefile until the system comes to a complete halt and gets unresponsive. This is the ram filling up over time (and manual Arma shutdown at the very end): The strange thing is that the mission is absolutely playable until the very end when the host runs out of ram. I can conntect to it, I can play on it and nothing is lagging at all. My question for now is: How can I find out the reason for this behaviour and how to stop it. Is there any tool / script / resource to see what exactly is filling up the ram? Or is it only possible to unload the mods one by one and see which may be the cause for this mess (if at all) ? That probably would take days, because the ram is filling up too slow for a quick test. I already talked to the mission creator and he mentioned that maybe one of the mods could be the problem. But as I just said, testing this could take days, if its mod related.
  5. Hey Guys, I made a python script to automate updating my server and figured I'd share. I've only tested it on Python 3.6 but I think it would work for any version. Just update the directories and files section to where your stuff is located. The "Steam Workshop IDs.txt" file just contains the workshop item number and a human readable string which automatically gets changed to a lowercase name without spaces. It uses a symbolic link to add the mods to the server's addons folder instead of moving it so updating works without redownloading everything. I know theres a bunch of GUI server managers out there, but I don't like the complexity that adds and this way I can just SSH from any device to update/boot my server. Update.py import os import sys from subprocess import Popen, PIPE, CalledProcessError, DEVNULL, STDOUT, check_call import glob armaServerAppId = "233780" armaClientAppId = "107410" modsDirectory = "C:\\Users\\arma\\Desktop\\Arma\\Master\\addons\\" keysDirectory = "C:\\Users\\arma\\Desktop\\Arma\\Master\\keys\\" armaDirectory = "C:\\Users\\arma\\Desktop\\Arma\\Master" steamCMD = "C:\\Users\\arma\\Desktop\\steamcmd\\steamcmd.exe" steamContentDirectory = "C:\\Users\\arma\\Desktop\\steamcmd\\steamapps\\workshop\\content\\" + armaClientAppId + "\\" steamTempScript = "C:\\Users\\arma\\Desktop\\steamcmd\\tempUpdateScript.txt" steamAuth = "C:\\Users\\arma\\Desktop\\steamcmd\\auth.txt" workshopItems = "C:\\Users\\arma\\Desktop\\Arma\\Steam Workshop IDs.txt" userLogin = "" userPass = "" def updateServer(): print("Updating Server...") # Get the users login checkUserLogin() os.system(steamCMD + ' +login ' + userLogin + ' ' + userPass + ' +force_install_dir ' + armaDirectory + ' "+app_update ' + armaServerAppId + '" validate +quit') def checkUserLogin(): global userLogin global userPass if userLogin == "": userLogin = input("Steam> Username: ") if userPass == "": userPass = input("Steam> Password: ") def copyKeys(): for filename in glob.iglob(modsDirectory+'**\\*.bikey', recursive=True): os.system("xcopy " + filename + " " + keysDirectory + " /s /y") error = "" os.system('cls') try: with open(steamAuth) as f: for line in f: info = line.split(" ") if len(info) == 2: userLogin = info[0] userPass = info[1] except: pass while True: userInput = input("Main Menu \n1. Update Server\n2. Update Mods\n4. Update Keys\n4. Exit\n" + error + ">> ") error = "" if userInput == "1": updateServer() input("Press any key to continue...") os.system('cls') elif userInput == "2": # Get the users login checkUserLogin() # Clear the temp script file = open(steamTempScript, 'w') script = "@ShutdownOnFailedCommand 1\n" script += "@NoPromptForPassword 1\n" script += "login " + userLogin + " " + userPass + "\n" script += "force_install_dir " + armaDirectory + "\n" mods = {} # Loop through each item in the workshop file with open(workshopItems) as f: for line in f: modInfo = line.split(" ", 1) steamWorkshopId = modInfo[0].strip() modName = modInfo[1].strip() modFolder = "@"+modName.replace(" ", "_").lower() mods[steamWorkshopId] = {"name": modName, "folder": modFolder} script += 'workshop_download_item ' + armaClientAppId + ' ' + steamWorkshopId + ' validate\n' # Make a link to the downloaded content (way better than moving...) symLink = modsDirectory + modFolder if not os.path.exists(symLink): os.system('mklink /J ' + symLink + ' ' + steamContentDirectory + steamWorkshopId + '\n') script += "quit" file.write(script) file.close() # Run the script print("\n=====================================\nLogging into Steam...\n=====================================") with Popen(steamCMD + " +runscript " + steamTempScript, stdout=PIPE, bufsize=1, universal_newlines=True) as p: for line in p.stdout: line = line.strip() if line != "": if line.find("Downloading item") != -1: downloadingLine = line.split("Downloading item") if downloadingLine[0]: print(downloadingLine[0]) try: modIdLine = downloadingLine[1].strip().split(" ") steamWorkshopId = modIdLine[0] print("\n=====================================\nDownloading "+mods[steamWorkshopId]["name"] + " ["+str(steamWorkshopId)+"]...\n=====================================") except: pass else: print(line) # Automatically copy bikeys over print("\n=====================================\nCopying addon keys...\n=====================================") copyKeys() input("\nPress any key to continue...") os.system('cls') elif userInput == "3": # Search for any bikeys and copy them into keys folder copyKeys() input("Press any key to continue...") os.system('cls') elif userInput == "4": sys.exit(0) elif userInput == "": os.system('cls') else: error = "[ERROR] Unknown choice. Try again\n" Steam Workshop IDs.txt 450814997 CBA 463939057 ACE 708250744 ACEX 773131200 ACE Compat RHSAFRF 773125288 ACE Compat RHSUSAF 689845793 ACD 853743366 CUP Terrains CWA 583496184 CUP Terrains Core 583544987 CUP Terrains Maps 671539540 EM Buildings 753946944 Murshun Cigs 498740884 Shacktac 698078148 Spec4gear 696177964 VSM WARFIGHTERS ... and so on ...
  6. I started playing the singleplayer version of minidayz today (1.4.1). I wanted to try playing the multiplayer version and found that there were no servers, so I decided to create my own server. When I tried to download the server files from minidayz.com/servers I was shown a 504 error for all possible downloads. I am on Windows running Chrome. I also tried to download it using another computer, and I received the same error. I even asked my friend to download it from their computer (on a different network) and they received the same error. After about an hour or so of waiting, the downloads still give the same error. Is there another way to download the server files?
  7. Hopefully I'm not suggesting this too late in the development cycle but I'd like to see some improvements to the ancient action menu. I was very pleasantly surprised when Apex control preset came out which removed weapon switching from the action menu and reduced the clutter. I suggest taking it further and cleaning it up some more. I don't know about you guys but I hate menus, I hate interacting with them mid combat and getting arma'ed by them and so on. 1. Give us an option to remove certain actions from the action menu I personally think we should be allowed to remove actions such as: "Get Out" and "Eject" when there are keybinds for those (default V and 2xV respectively). I cannot count how many times me and other players been ejected from a vehicle when trying to use a certain action which disappeared for a split second when another player used an action and Eject option was the first one in the menu which got selected in that split second. Yeah it is so broken when it keeps resetting whenever someone else uses it. Additionally we have keybinds for: Engine On/Off; Lights On/Off; Turn Out/In; Gear Up/Down; Flaps Up/Down and some others I can't think off at the moment. Would like it if there was an option either in game options or controls to remove specific actions from the action menu so as to allow to customize it for those that prefer using action menu for some reason and keep everyone happy 2. Introduce a quick access/hot key system for inventory items So we can stop placing explosives on the helicopter or transport truck as we are trying to board it while the action menu keeps resetting because our fellow comrades are also trying to board it at the same time. What I am proposing is essentially an MMO style hot key system which would imo benefit Arma greatly. By default Apex Preset uses "1" for primary weapon, "2" for secondary and "3" for launcher. So player could assign his own keys for each quick access slot which would show the corresponding key bind like in the mockup image bellow. Then the player would drag and drop the items from uniform/vest/backpack into the quick access slots. Additionally it could be used not only for explosives but grenades as well. For example you press number 5 and your character switches to an RGO grenade. While I would prefer character actually holding the grenade in his hand like in FPS games since the 90s I'm not sure Bohemia can afford the animator labor? I could live with Shactac/ACE style floating grenades in front of you. Regardless I think Red Orchestra2/Rising Storm did grenades very elegantly in my opinion. You aim with your ingame hand and cook grenade at the same time, how intuitive :O Here's a Satchel You can throw the Satchel too 3. Improve opening doors/windows Could we have the door icon attach to doors, windows in the actual 3D world space so we know which door is about to open/close? Seems relatively simple If icons were to attach to doors/windows you could then remove those options from the action menu and look for an icon prompt instead. I also noticed that when giving move commands to AI there's an arrow that seems to attach to objects. So it seems that there's already a capability in the engine to attach HUD elements in 3D space. Anyway these are my suggestions. Looking forward to more suggestions and a discussion. Hopefully it's not too late to get the action menu improved
  8. Hi, I have been making a custom building and am on the final few stages of it, However I cant seem to get the windows to work (I have never done windows before and am a bit lost) If anyone could link me to a guide on how to do windows that would be much appreciated or tell me what I need to do in the comments. Config.cpp #include "config_macros_glass.hpp" class CfgPatches { class CG_CityBank { unit[] = {"CG_CityBank"}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"A3_Structures_F"}; }; }; class CfgVehicles { class House; class House_F: House{}; class CG_CityBank : House_F { scope = 2; model = "\CG_Buildings\CG_CityBank.p3d"; displayName = "City Bank"; vehicleClass = "CG_Category"; editorCategory = "CG_Category"; edtiorSubcategory = "CG_Structures"; cost = 50000; author = "CG_JimmyBulmer"; class AnimationSources { class Door_01_Rotation { source = "user"; initPhase = 0; animPeriod = 2; }; class Door_02_Rotation { source = "user"; initPhase = 0; animPeriod = 2; }; class Door_03_Rotation { source = "user"; initPhase = 0; animPeriod = 2; }; class Door_04_Rotation { source = "user"; initPhase = 0; animPeriod = 2; }; class Door_05_Rotation { source = "user"; initPhase = 0; animPeriod = 1; }; class Door_06_Rotation { source = "user"; initPhase = 0; animPeriod = 1; }; class Door_07_Rotation { source = "user"; initPhase = 0; animPeriod = 1; }; class Door_08_Rotation { source = "user"; initPhase = 0; animPeriod = 1; }; class VaultDoor_Handle_Rotation { source = "user"; initPhase = 0; animPeriod = 10; }; class VaultDoor_Full_Rotation { source = "user"; initPhase = 0; animPeriod = 10; }; class Glass_1_Source { source="Hit"; hitpoint = "Glass_1_"; }; }; class UserActions { class VaultDoor_Open { displayName = "Open Vault Door"; position = "VaultDoor_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""VaultDoor_Handle_Rotation"" < 0.5"; statement = "this animate [""VaultDoor_Handle_Rotation"", 1]; this animate[""VaultDoor_Full_Rotation"", 1];"; }; class VaultDoor_Close { displayName = "Close Vault Door"; position = "VaultDoor_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""VaultDoor_Handle_Rotation"" >= 0.5"; statement = "this animate [""VaultDoor_Full_Rotation"", 0]; this animate [""VaultDoor_Handle_Rotation"",0];"; }; class Front_Door_Right_Open { displayName = "Open Doors"; position = "FrontDoor_Right_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_01_Rotation"" < 0.5"; statement = "this animate [""Door_01_Rotation"", 1]; this animate [""Door_02_Rotation"", 1];"; }; class Front_Door_Right_Close { displayName = "Close Doors"; position = "FrontDoor_Right_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_01_Rotation"" >= 0.5"; statement = "this animate [""Door_01_Rotation"", 0]; this animate [""Door_02_Rotation"", 0];"; }; class Front_Door_Left_Open { displayName = "Open Doors"; position = "FrontDoor_Left_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_03_Rotation"" < 0.5"; statement = "this animate [""Door_03_Rotation"", 1]; this animate [""Door_04_Rotation"", 1];"; }; class Front_Door_Left_Close { displayName = "Close Doors"; position = "FrontDoor_Left_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_03_Rotation"" >= 0.5"; statement = "this animate [""Door_03_Rotation"", 0]; this animate [""Door_04_Rotation"", 0];"; }; class Door_05_Open { displayName = "Open Door"; position = "Door_05_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_05_Rotation"" < 0.5"; statement = "this animate [""Door_05_Rotation"", 1];"; }; class Door_05_Close { displayName = "Close Door"; position = "Door_05_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_05_Rotation"" >= 0.5"; statement = "this animate [""Door_05_Rotation"", 0];"; }; class Door_06_Open { displayName = "Open Door"; position = "Door_06_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_06_Rotation"" < 0.5"; statement = "this animate [""Door_06_Rotation"", 1];"; }; class Door_06_Close { displayName = "Close Door"; position = "Door_06_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_06_Rotation"" >= 0.5"; statement = "this animate [""Door_06_Rotation"", 0];"; }; class Door_07_Open { displayName = "Open Door"; position = "Door_07_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_07_Rotation"" < 0.5"; statement = "this animate [""Door_07_Rotation"", 1];"; }; class Door_07_Close { displayName = "Close Door"; position = "Door_07_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_07_Rotation"" >= 0.5"; statement = "this animate [""Door_07_Rotation"", 0];"; }; class Door_08_Open { displayName = "Open Door"; position = "Door_08_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_08_Rotation"" < 0.5"; statement = "this animate [""Door_08_Rotation"", 1];"; }; class Door_08_Close { displayName = "Close Door"; position = "Door_08_Trigger"; radius = 2; onlyForPlayer = 0; condition = "this animationPhase ""Door_08_Rotation"" >= 0.5"; statement = "this animate [""Door_08_Rotation"", 0];"; }; }; }; }; Model.cfg class CfgSkeletons { class Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class CG_CityBank_bones : Default { skeletonInherit = "Default"; skeletonBones[] = { "Door_01","", "Door_02","", "Door_03","", "Door_04","", "Door_05","", "Door_06","", "Door_07","", "Door_08","", "VaultDoor_Full","", "VaultDoor_Handle","VaultDoor_Full", "VaultDoor_Handle_Axis","VaultDoor_Full", "Glass_1_Hide","", "Glass_1_Unhide","" }; }; }; class CfgModels { class Default { sectionsInherit = ""; sections[] = {}; skeletonName = ""; }; class CG_CityBank : Default { skeletonName = "CG_CityBank_bones"; sections[] = { "Glass_1_Hide" }; sectionsInherit = ""; class Animations { class VaultDoor_Handle_Rotation { type="rotationZ"; source="user"; selection="VaultDoor_Handle"; axis="VaultDoor_Handle_Axis"; memory=1; minValue=0; maxValue=0.25; animPeriod=0; angle0=0; angle1="rad 360"; }; class VaultDoor_Full_Rotation { type="rotation"; source="user"; selection="VaultDoor_Full"; axis="VaultDoor_Full_Axis"; memory=1; minValue=0.25; maxValue=1; animPeriod=0; angle0=0; angle1="rad 90"; }; class Door_01_Rotation { type="rotation"; source="user"; selection="Door_01"; axis="Door_01_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad -100"; }; class Door_02_Rotation { type="rotation"; source="user"; selection="Door_02"; axis="Door_02_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad 100"; }; class Door_03_Rotation { type="rotation"; source="user"; selection="Door_03"; axis="Door_03_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad 100"; }; class Door_04_Rotation { type="rotation"; source="user"; selection="Door_04"; axis="Door_04_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad -100"; }; class Door_05_Rotation { type="rotation"; source="user"; selection="Door_05"; axis="Door_05_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad -105"; }; class Door_06_Rotation { type="rotation"; source="user"; selection="Door_06"; axis="Door_06_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad 105"; }; class Door_07_Rotation { type="rotation"; source="user"; selection="Door_07"; axis="Door_07_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad -100"; }; class Door_08_Rotation { type="rotation"; source="user"; selection="Door_08"; axis="Door_08_Axis"; memory=1; minValue=0; maxValue=1; animPeriod=0; angle0=0; angle1="rad 100"; }; class Glass_1_Hide { type="hide"; source="Glass_1_Source"; selection="Glass_1_Hide"; minValue=0; maxValue=1; hideValue=0.99999; }; class Glass_1_Unhide: Glass_1_Hide { selection="Glass_1_unhide"; hideValue=0; unhideValue=0.99999; }; }; }; }; config_macros_glass.hpp #define DOOR_GLASS_HITPOINT(glassID,arm,rad) \ class Glass_##glassID##_hitpoint \ { \ armor = arm; \ material = -1; \ name = Glass_##glassID; \ visual = Glass_##glassID##_hide; \ passThrough = 0; \ radius = rad; \ convexComponent = Glass_##glassID##_hide; \ class DestructionEffects \ { \ class BrokenGlass1 \ { \ simulation = "particles"; \ type = "BrokenGlass1ND"; \ position = Glass_##glassID##_effects; \ intensity = 0.15000001; \ interval = 1; \ lifeTime = 0.05; \ }; \ class BrokenGlass2: BrokenGlass1 \ { \ type = "BrokenGlass2ND"; \ }; \ class BrokenGlass3: BrokenGlass1 \ { \ type = "BrokenGlass3ND"; \ }; \ class BrokenGlass4: BrokenGlass1 \ { \ type = "BrokenGlass4ND"; \ }; \ class BrokenGlass5: BrokenGlass1 \ { \ type = "BrokenGlass5ND"; \ }; \ class BrokenGlass6: BrokenGlass1 \ { \ type = "BrokenGlass6ND"; \ }; \ class BrokenGlass7: BrokenGlass1 \ { \ type = "BrokenGlass7ND"; \ }; \ class BrokenGlass1S: BrokenGlass1 \ { \ type = "BrokenGlass1SD"; \ }; \ class BrokenGlass2S: BrokenGlass1 \ { \ type = "BrokenGlass2SD"; \ }; \ class BrokenGlass3S: BrokenGlass1 \ { \ type = "BrokenGlass3SD"; \ }; \ class BrokenGlass4S: BrokenGlass1 \ { \ type = "BrokenGlass4SD"; \ }; \ class BrokenGlass5S: BrokenGlass1 \ { \ type = "BrokenGlass5SD"; \ }; \ class BrokenGlass6S: BrokenGlass1 \ { \ type = "BrokenGlass6SD"; \ }; \ class BrokenGlass7S: BrokenGlass1 \ { \ type = "BrokenGlass7SD"; \ }; \ }; \ }; #define BIG_GLASS_HITPOINT(glassID,arm,rad) \ class Glass_##glassID##_hitpoint \ { \ armor = arm; \ material = -1; \ name = Glass_##glassID; \ visual = Glass_##glassID##_hide; \ passThrough = 0; \ radius = rad; \ convexComponent = Glass_##glassID##_hide; \ class DestructionEffects \ { \ class BrokenGlass1 \ { \ simulation = "particles"; \ type = "BrokenGlass1NB"; \ position = Glass_##glassID##_effects; \ intensity = 0.15000001; \ interval = 1; \ lifeTime = 0.05; \ }; \ class BrokenGlass2: BrokenGlass1 \ { \ type = "BrokenGlass2NB"; \ }; \ class BrokenGlass3: BrokenGlass1 \ { \ type = "BrokenGlass3NB"; \ }; \ class BrokenGlass4: BrokenGlass1 \ { \ type = "BrokenGlass4NB"; \ }; \ class BrokenGlass5: BrokenGlass1 \ { \ type = "BrokenGlass5NB"; \ }; \ class BrokenGlass6: BrokenGlass1 \ { \ type = "BrokenGlass6NB"; \ }; \ class BrokenGlass7: BrokenGlass1 \ { \ type = "BrokenGlass7NB"; \ }; \ class BrokenGlass1S: BrokenGlass1 \ { \ type = "BrokenGlass1SB"; \ }; \ class BrokenGlass2S: BrokenGlass1 \ { \ type = "BrokenGlass2SB"; \ }; \ class BrokenGlass3S: BrokenGlass1 \ { \ type = "BrokenGlass3SB"; \ }; \ class BrokenGlass4S: BrokenGlass1 \ { \ type = "BrokenGlass4SB"; \ }; \ class BrokenGlass5S: BrokenGlass1 \ { \ type = "BrokenGlass5SB"; \ }; \ class BrokenGlass6S: BrokenGlass1 \ { \ type = "BrokenGlass6SB"; \ }; \ class BrokenGlass7S: BrokenGlass1 \ { \ type = "BrokenGlass7SB"; \ }; \ }; \ }; #define NORMAL_GLASS_HITPOINT(glassID,arm,rad) \ class Glass_##glassID##_hitpoint \ { \ armor = arm; \ material = -1; \ name = Glass_##glassID; \ visual = Glass_##glassID##_hide; \ passThrough = 0; \ radius = rad; \ convexComponent = Glass_##glassID##_hide; \ class DestructionEffects \ { \ class BrokenGlass1 \ { \ simulation = "particles"; \ type = "BrokenGlass1NN"; \ position = Glass_##glassID##_effects; \ intensity = 0.15000001; \ interval = 1; \ lifeTime = 0.05; \ }; \ class BrokenGlass2: BrokenGlass1 \ { \ type = "BrokenGlass2NN"; \ }; \ class BrokenGlass3: BrokenGlass1 \ { \ type = "BrokenGlass3NN"; \ }; \ class BrokenGlass4: BrokenGlass1 \ { \ type = "BrokenGlass4NN"; \ }; \ class BrokenGlass5: BrokenGlass1 \ { \ type = "BrokenGlass5NN"; \ }; \ class BrokenGlass6: BrokenGlass1 \ { \ type = "BrokenGlass6NN"; \ }; \ class BrokenGlass7: BrokenGlass1 \ { \ type = "BrokenGlass7NN"; \ }; \ class BrokenGlass1S: BrokenGlass1 \ { \ type = "BrokenGlass1SN"; \ }; \ class BrokenGlass2S: BrokenGlass1 \ { \ type = "BrokenGlass2SN"; \ }; \ class BrokenGlass3S: BrokenGlass1 \ { \ type = "BrokenGlass3SN"; \ }; \ class BrokenGlass4S: BrokenGlass1 \ { \ type = "BrokenGlass4SN"; \ }; \ class BrokenGlass5S: BrokenGlass1 \ { \ type = "BrokenGlass5SN"; \ }; \ class BrokenGlass6S: BrokenGlass1 \ { \ type = "BrokenGlass6SN"; \ }; \ class BrokenGlass7S: BrokenGlass1 \ { \ type = "BrokenGlass7SN"; \ }; \ }; \ }; Im sure that those configs aren't right (the macros is just copied from the ARMA samples. If anyone could show me how to A - remove the need for macros and have it done inside the config.cpp and B how to get it working, or link me a guide I will be very grateful I would like to also note at the moment only one window is in the p3d I have the visual lod defined as Glass_1_Hide and Glass_1_Unhide, the GEO lod has just Glass_1_Hide (as well as physX) There is no memory lod for it (that ive put anyway) and the hitpoints are Glass_1 there is only 4 vertices in each corner(between each two vertices in top right, left ect)
  9. Hello Community, today I viewed the server browser of arma 3. So many server are running on Windows OS and not Linux. I would like to rent are dedicated server and don't want to pay a monthly rate for Windows Server license. Are the Linux Server performance to bad for +100 Players or whats going on? Somebody are tested the performance between Windows and Linux and got benchmarks? Thanks a lot ;)
  10. I need help with securing my server configuration. I had a public server configured on a Windows DS and running ZGM Master Altis. I logged on today and I played for a bit and then I was banned from my own server. I then found two bans in the bans.txt. But I had a strong password on the admin and voting was disabled. I am including my server configuration below, and I need someone to look this over and give me some help with securing my DS. I have stopped and restarted the server, but I have made it private from now on. I guess I need to learn from this experience. // // server.cfg // // STEAM steamport=2440; steamqueryport=2441; // GLOBAL SETTINGS hostname = "Tactical gaming Arma 3 server. | Wombat Servers"; // 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 reportingIP = "arma3pc.master.gamespy.com"; 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[] = { "", "", "ARMA 3 by Wombat Servers", "", "", "Like us on Facebook", "http://www.facebook.com/WombatServers", "" }; motdInterval = 5; // Time interval (in seconds) between each message // JOINING RULES checkfiles[] = {}; // Outdated. maxPlayers = 8; // 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 .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 = 2; // 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 = 0; // since 1.62.95417 supports range 1-20 //since 1.63.x will supports range 1-30 //8kHz is 0-10, 16kHz is 11-20, 32kHz is 21-30 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 - READ WARNING ABOVE - makes cheating possible! // 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 class Missions {}; Thank you. I hope someone more experienced with public servers can help me out.
×