Jump to content
  • 1
Tobias Solem

How to optimize server-FPS and server performance

Question

It's a fact that ARMA has a dated architecture that only recently received some optimizations for multiple cores and utilizing them for different purposes (multi-tasking and multi-threading). There are several ways for you to optimize your server-side performance to get the maximum speed out of your Epoch server (because Epoch loads so many building items, it requires even more processing power).

 

Before I continue there is a fundamental thing you have to know and consider when you configure your Epoch server: 

 

* Every client will load and have to calculate everything that occurs on your server, meaning:

- Every client has to load ALL base building items

- Every client has to load ALL the vehicles

- Every client has to load and calculate ALL AI movement

- Every client has to load and calculate ALL clan logos/custom graphics

 

Another thing to consider is the fact that there is something called ragdoll and physics in ARMA 3, basically it is a set of calculations applied to each player body, each AI-body, and each car, and for a moment, also every placed building block. All vehicles run physics-calculations in real-time 24/7 (100% all the time) this means that for every car you have on your server, the server and each client will have to run the calculations for physics on that vehicle all the time. Naturally more calculations are required when something happens to that vehicle (driving, getting shot at, colliding, etc.) but essentially the computing power for all these physics & ragdoll items will take a toll.

 

Furthermore, all inventories and contents of traders, tents, vehicles, etc. are fed from the database in real-time, essentially the more items a container holds, the heavier the load on the server for each time that inventory is loaded. So if you have, say 300 items in a container, all those 300 will load in a big packet, which sucks some server performance. The less a container can hold, the less strain on the server.

 

Now, multiply physics, and inventory calculations per client, the more clients connected, the more vehicles driving, swimming, running, flying, inventories getting opened, the more the strain on each client, and on the server. A lot of this information is also sent from the server, and Arma 3 Epoch is one of the most bandwidth-intensive games out there. When the bandwidth is maximized on either the server-side or the client-side, you will see a yellow chain link in your bottom right corner, or a red chain link, depending on how overloaded the server or the client is with data. This is also when you will see lag happening. Whereas "desynch" (client and server not having the same information, and thus weird things happen) and rubberbanding (which looks like teleporting/warping) is usually a combination of over-stressed CPU (server and or client-side).

 

It is also important to know that in player interaction, the weakest link is usually the cause of the issues, for example: It doesn't matter if you are connected with a 1Gbit connection, with an awesome CPU and GPU, if the server is overloaded, that's the problem, you can't fix it clientside. But the same thing is if you and your friends are connected and your friend has a shitty Internet connection and/or computer and happens to be driving the car. He will lag/desynch based on his low-performance equipment, and that will affect you, and anyone trying to blow that car up (because the car will behave erratically). 

 

Virtual Machines

 

It should also be known that the arma3 server-file has issues with running on virtual machines (VMWare, or XenServer, etc.) essentially the performance output gets negated by as much as 30% if you run it on the same hardware as a dedibox, ARMA 3 is currently (2014-12-30) not well-optimized for running on Virtual Machines. Dedicated, native servers will see better performance than a VM.

 

 

How do I combat/fix this?

 

With these basic fundamentals in knowing how the server works, you as a player need to know that connecting to a server with hundreds of vehicles, or tens of thousands of buildables, or tons of AI-missions will not necessarily be a good thing for your game experience. While there may be plenty of content to have fun with, the experience with all that content will soon turn sour when your client FPS sinks (because the server has low performance, or is under too much strain (yes this affects clients too, if the server is the weakest link, all clients suffer)) your gameplay and experience will suffer too. 

 

Currently, the thoroughly tested, recommended max settings for cars on an Epoch server is 150, and the max amount of buildables is 1500 and the max amount of container content is 1500. This is the default settings in Epoch and it is what makes it possible for a server like Mellys to run 100 clients connected, with little to no issues. Yes, there will be a struggle to find a car, but the experience for each player will be as optimal as ARMA 3 Epoch can be with 100 players connected simultaneously.

 

The only possible compromise if you want to have more vehicles, more buildables, more missions, etc. is to allow for fewer clients (less than 100 players). It doesn't matter if the server has SSD-drives, or 1Gbit up and down, or 32GB DDR5 RAM on a super-high cache Xeon-processor. The arma3server-binary can't handle more than a certain amount of load anyways. 

 

 

No logs, memory handlers, and toggles

 

If you run a server with hyperthreading you should use the following toggle (do NOT combine it with cpuCounts=X or threads=X, etc.):

-enableHT

 

If you want to squeeze some more performance out of your server with an optimized memory allocator, use the following (download fred's dll here https://github.com/fred41/tbbmalloc_arma/raw/master/dwarden/uptodate_bins.zip ) and place its contents in your dlls-directory where you have arma3server:

-malloc=tbbmalloc 

 

IF you want to squeeze some extra FPS out of the server you can also turn off RPT-logging (not recommended if you are having issues or are actively tracking other problems/reports) by using:

-nologs

 

Setting the processor priority higher is also recommended:

-high

 
Server shutdowns
 
The recommended shutdown hours currently for optimal performance is 3 hours, the reason why we have to shut down the server with certain intervals is because of essentially two reasons: 1) Memory leaking (binaries leak RAM, and start performing poorly and thus need to be terminated and restarted) and 2) Clutter (basically a bunch of loops that get stuck due to poor code, vehicle explosions that take up unnecessary bandwidth, corpse clutter, and other things that are a detriment that increases over time on server performance).
 
Hardware
 
- CPU
ARMA 3 is processor clock dependent first (both client- and server-side). Having a CPU clock of 3.9GHz or higher is recommended. Intel Xeon-processors have been proven to perform better than regular non-server CPU:s. 
 
- RAM
More than 8GB per server has not been reported to make any difference whatsoever unless you run a lot of other things or multiple servers on the same machine
 
- Hard Drive Speed
SSD-hard drives improve loading performance severely, which means quicker reboots and startup-times for the server, but after the server is loaded everything is handled from the computers RAM, which is much faster than SSD-drives currently. 
 
- Bandwidth
 
Expect an ARMA 3 Server have been reported to use around 1Mbit per connected client (server-to-client upstream bandwidth). This means that with 50 players, you will need about 50Mbit upload. The server downloads much less data than this.
 
--------------------------------------------------
 
Bottom line
 
As a server owner you really need to consider the factors involved:
 
Amount of vehicles (more than 150 will mean you will have to lower your max allowed connected clients from 100)
Amount of buildables (more than 1500 will mean you will have to lower your max allowed connected clients from 100)
Amount of storage space (more than 1500 will mean you will have to lower your max allowed connected clients from 100)
 
 
Your server performance is measured in FPS and CPS - the standard FPS without load will be about 49-50FPS server-side, server-FPS and client-FPS are not the same thing, it is not as vital for server-FPS to be so high, everything 15FPS or higher will leave little to no issues. The same thing goes for CPS, which is the processing power used for Artificial Intelligence and non-gamebased calculations (like the AntiHack). The same principle for AI applies to this, the two values should be about the same normally. These values are heavily affected by (in order of performance-drain): 1) Connected clients, 2) Amount of vehicles 3) Amount of buildables 4) Contents of inventory
 
--------------------------------------------------
 

Share this post


Link to post
Share on other sites

284 answers to this question

Recommended Posts

  • 1

I use defaults and I have no lag or Desync so I see no need to touch it. I would recommend some of the tips up top for VPS and maybe only have max 150 vehicles and low AI missions

Share this post


Link to post
Share on other sites
  • 0

@rc_robio i have this one but i want the one said by Tobias Solem in his post but it has password

 

It's the same one.

 

Whats an avg. Server FPS when a server is freshly booted up and mission is running. 0 players online. 

My box usually runs at 47Fps

Share this post


Link to post
Share on other sites
  • 0

My box starts at 50 fps, as time goes by and the players join it drops, I wish i could get it to use all the server resources :(

 

Currently the server has been running 2hrs 30 mins, I have 50 players online, server fps is 19, CPU usuage is 67% and Ram 30%

Share this post


Link to post
Share on other sites
  • 0

My box starts at 50 fps, as time goes by and the players join it drops, I wish i could get it to use all the server resources :(

 

Currently the server has been running 2hrs 30 mins, I have 50 players online, server fps is 19, CPU usuage is 67% and Ram 30%

 

Just wait until they start building :D

Share this post


Link to post
Share on other sites
  • 0

Editing the basic.cfg should NOT be done without some basic understanding of TCP/IP and bandwidth limitations, etc.

MinBandwidth

This is your bits per second value of your absolute minimum bandwidth available, note, base this on your UPLOAD limit. I recommend doing a bandwidth check during a Sunday peak to determine your minimum upload speed. Never set this too high or you will have red chains, CPU-issues, and A LOT of rubberbanding, etc. - your upload is your megabit value followed by six zeroes (10Mbit = 10000000).

MaxBandwidth

This is your bits per second value of your absolute maximum bandwidth available, note, base this on your UPLOAD limit. This should be your maximum capability of upload speed.

MaxMsgSend

This is the maximum number of messages that can be sent in one simulation cycle. Default is 128, with a 50+Mbit upload you can multiply this base value by 3 or so (384).

MaxSizeGuaranteed

The maximum guaranteed packet sent in bytes (without headers). This will highly affect your bullet impact and reactions from bullets. Default value is 512, we run 696.

MaxSizeNonguaranteed

The maximum guaranteed packet sent in bytes (without headers). These packets aren't prioritized, essentially it affects how vehicles behave when you're a passenger and witness the vehicle's behavior. I recommend making it slightly smaller than default (232)

MinErrorToSend

The error needs to be how small between client and server to send updates? The smaller the value the more accurate movements become. Setting it to zero will have adverse effects however. I recommend 0.0015

MinErrorToSendNear

Same as above except now it affects closer units (close range combat). Personally I keep this the same as the above.

MaxCustomFileSize

If you want players to have custom faces this might be a cool gimmick, however - these come with some laggy side-effects. Recommend 0. to connect.

Share this post


Link to post
Share on other sites
  • 0

Really nice tutorial!

 

I have just one question, how is it with the CPU Cores. I have an I7 2600K Clocked at 3.4ghz and I don't really know how I should use the cores. When I use all cores for 1 Epoch Server, 50 Slots, Full, the CPU Load is about 65% when the Server is full, which is too much to set up a 2nd Server. If I set it down to 2-3 Cores the Load is at arround 25-35%. I couldn't notice any big lags or sth. but the Database is almost empty.

 

So how many CPU cores should I use so that I can still have good Performance with arround 8K Database Objects and 2 Servers on the same Box. Talking about 2 50 Slots Servers on Chernarus.

Share this post


Link to post
Share on other sites
  • 0

Hey Guys,

 

I´m looking for basic.cfg parameters based on my infrastructure... I have a VPS with 5 cores of 2.4Ghz from a E5-645 processor, 6gb of RAM, network of 20mbs (up/down).  [i know it´s a VPS  :-(  thats what we can pay from here]

 

 

Parameters from basic.cfg are like follow:

 

MinBandwidth = 5242880;

MaxBandwidth = 20971520;

 

MaxMsgSend = 256;

MaxSizeGuaranteed = 512;

MaxSizeNonguaranteed = 256;

 

MinErrorToSend = 0.002;

MinErrorToSendNEar = 0.02;

 

MaxCustomFileSize = 0;

 

With that configuration, server running with 40 players is showing average of 7 FPS at @ASM, CPU around 65% of utilziation and memory with 2.7Gb used. Although there is no major lag, vehicles are moving without desync, etc... can someone point a better value for the parameters mentioned ahead ?

 

Thanks in Advance!

Share this post


Link to post
Share on other sites
  • 0

I've been using these settings the last few days:

// 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
 
 
// 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 old 131072
MinBandwidth = 15728640; // 15 MBps
 
 
// Bandwidth the server is guaranteed to never have. 
// This value helps the server to estimate bandwidth available.
MaxBandwidth = 50000000; // 50 MBps
 
 
// 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 old 256 (384)
MaxMsgSend = 1024;
 
 
 
// 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 (696)
MaxSizeGuaranteed = 384;
 
 
// 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 (232)
MaxSizeNonguaranteed = 192;
 
 
 
// 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.002 (0.002)
MinErrorToSend = 0.001;
 
 
 
// Minimal error to send updates across network for near units. Using larger value can reduce traffic sent for near units. 
// Used to control client to server traffic as well. 
// Default: 0.01
MinErrorToSendNear = 0.01; 
 
 
 
// (bytes) Users with custom face or custom sound larger than this size are kicked when trying to connect.
MaxCustomFileSize = 0; 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Liqu1dShadow
      Evening all....
       
      I am pulling out of Arma Dayz.... so I have attached the server files for both my Arma2 Devils Playground servers with some very unique and custom scrips. over 2,500 hours of work and 8 years of experience.
      My (Left4Dead) witch that everyone has tried to steal is in there.
      https://www.youtube.com/watch?v=Hko7qEEZzNM&t
      Files:
      https://www.dropbox.com/s/vvv2v7simvz5hsv/Server Giveaway.zip?dl=0
      Server side files (except for KFC Admin Tools, they are removed) Mission Side Keys (Taviana as its the origins version not Taviana2.0) Battleye Filters  
      I'm not offering any support for these files, how to use them or if you cant get them working, you can take what you like and use what you want. please don't use the name "Devils Playground" and change any artwork how you see fit. If you see the names Liqu1dShadow, Arrakis, SapphireBunny or Loki in the scripts... they are all me.
       
      Features list of both servers: can be seen on Discord https://discord.gg/rJqwb8B
      Cherno:
      - A Standalone mixed with vanilla feel
      - No air vehicles at all and no armed military except 2 which are rare mission only finds
      - No humanity, everyone gets XP
          - 125XP for a player kill (if you kill the same player twice you get 120XP)
          - 25XP for any AI
          - 2XP for a zombie
          - 15XP if you bury a body
          - 10XP if you cut up a body
      - Building limits are based on XP, the more XP you have the more building parts you can have
      - Base building will take time so the following is normally how you would do it
          - Big tents that you can walk in, these will be lockable and will need blowing open and can have trees planted round them to hide
          - Wood will be the 2nd tier of base, this is because it will take you a while to afford the locks, so starting with a tent first is sensible
          - Cinder, you will need to buy iron ore, then break this into stone, then take the stone to the Manufacturing Facility to turn into Cinder (dangerous)
      - Central Trader City with 7 vendors, 6 people & 1 vending machine (this is the only safe zone on the map)
      - 4 Tier weapon loot
          - Very Low: Military containers
          - Low: Military barracks with green doors
          - Medium: Military barracks with the door at the front and each room doored off
          - High: Military tents that have a single entrance
          - Very high: Military tents that have entrance at either end (only found at Skalisty)
      - Weapon loot gets higher as you move inland and are colour coded via markers
          - There are no Anzios, rocket launchers... Again, a more real world feel
      - Missions have all been reworked
          - All missions are neutral, meaning not hero or bandit, you get XP so you can do any mission
          - There are three main mission with 1 always being Skalisty
          - There are a number of vehicles driving round the map, some armed. and a heli flying about
          - Some AI have cash some dont
      - There is no bank. You will see a money bag on your hud, thats how much you have on you. Store your wealth in safes, lockboxes
      - Base raiding is balanced and harder to do, with each base material upgrade it gets harder to break in with Cinder offering 5% chance.
      - Garden of Eden - Weed Growers
      - Manufacturing facility process:
          - Oil into gold
          - Oil into methylamine
          - Stone into cinder blocks
          - Metal sheets into panel kits
          - Panel kits into metal floors
          - Weed plants into Weed Bricks
      - Opens when 7 or more players are online
      - Oil tanker Train
      - Stone, metal processing
      - New HUD with mission and player kills
      - Spawn prisons that protect you as you spawn in
          - CCTV with thermal
          - Scanner
      - Same spawn gear for all with 2 changes, radio and then binoculars as you get higher XP
      - No halo spawn, so no scooting across the map at 500mph
      - 40 dirt bikes hidden close to spawn locations, find them and thats your ticket back
      - over 500 buildings added
      - 14 military locations added
      - Irradiated One, Yes that bitch is here too
      - Take clothes, bury and cut up bodies
      - Take a shit (heals you)
      - Door bell
      - Flip vehicle
      - Hide from zombies (cover yourself in guts and wash off in ponds)
      - Completely reworked traders
          - Reworked pricing
          - Addition of new weapons
          - All located in one place
          - Custom signage
          - 200m vehicle trading distance (so you can park anywhere)
      - iPad for stuff and rules (press right-alt)
      - Reworked deployable menu
      - Get drunk and overdose on weed and cola
      - Suicide with sidearm
      - No build zones
      - Variable view distance
          - Standard 300, 500, 1000m (via iPad)
          - Binoculars 100m - 1200m
          - Range Finders 100m - 3000m
      - Devils Workshop for CCTV + other future stuff
      - Buy XP at traders
      - Raid menu (if something can be blown it will give you a menu)
          - Blow tent doors
          - Blow all wood items
          - Blow Cinder doors
      - Stalisty Bridge
      - Skalist island wall (only 2 ways on or off)
      - Skalisty train on main island (good for food loot)
      - Custom Military Locations
          - Cherno
          - Electro
          - Altar Radar Array Base
          - Berezino
          - Solinchi
          - Zelenogorsk
          - Stary
          - Grishino
          - NWAF
          - NWAF - Tents
          - Bashnya
          - Green Mountain
          - Rify
          - Lysina
          - Shakhovka
          - Gvozdno
          - Skalka
          - Infected Camp
          - Skalisty (10 camps + 2 Urals + AI)
      - Custom Airfields
          - Balota
          - NWAF + Industrial
          - NEAF
      - Fugitive mission (has one of the armed vehicles in - de-spawns at restart)
      - Vodnik mission (has the other armed vehicle - you get to keep it)
      - Pirate treasure (mostly food, couple guns, ammo and maybe a nice item)
      - Suspicious Vehicle mission (truck with loot in that blows up on a timer)
      - Tool dulling (keep them sharp)
      - Reworked loot tables, if you need to go to Klen then you wont find that spawning
      - Fast time, goes at 5 times the speed, in game you start at 10am and after a 4 hour restart you will be at 10pm (30 minutes of night)
      - Full screen NVGs only found in military tents, non-full screen can be bought
      - XP base part allowance:
          - 0XP     - 5000XP   > 50 items
          - 5000XP  - 10000XP  > 70 items
          - 10000XP - 20000XP  > 90 items
          - 20000XP - 30000XP  > 110 items
          - 30000XP - 40000XP  > 130 items
          - 40000XP - 50000XP  > 150 items
          - 50000XP - 60000XP  > 170 items
          - 60000XP - 70000XP  > 190 items
          - 70000XP - 80000XP  > 210 items
          - 80000XP - 90000XP  > 230 items
          - 90000XP - 100000XP > 250 items
          - 100000XP or more   > 300 items
      Lv0 - Survivor - 2,500 XP - 6 Spawn Locations
      Gun: [CZ 75 PHANTOM SD Pistol] + 2x [18Rnd Ammo]
      Melee: [BaseBall Bat]
      Meds: [2x Bandage + 1x Painkiller + 1x Bloodbag]
      Food: [1x Can of Stew + 1x Water Bottle Full]
      Tools: [Map + Flashlight + Compass]
      Backpack: [Czech Vest Pouch] + 2x [Heat Packs]
      Lv1 - Survivor - 7,500 XP - 6 Spawn Locations
      Gun: [CZ 75 PHANTOM SD Pistol] + 2x [18Rnd Ammo]
      Melee: [BaseBall Bat]
      Meds: [2x Bandage + 1x Painkiller + 1x Bloodbag]
      Food: [1x Can of Stew + 1x Water Bottle Full]
      Tools: [Map + Flashlight + Compass + Radio]
      Backpack: [Czech Vest Pouch] + 2x [Heat Packs]
      Lv2 - Survivor - 20,000 XP - 20 Spawn Locations
      Gun: [CZ 75 PHANTOM SD Pistol] + 2x [18Rnd Ammo]
      Melee: [BaseBall Bat]
      Meds: [2x Bandage + 1x Painkiller + 1x Bloodbag + 1x Morphine]
      Food: [1x Can of Stew + 1x Water Bottle Full]
      Tools: [Map + Flashlight + Compass + Radio + Binoculars]
      Backpack: [Czech Vest Pouch] + 3x [Heat Packs]
      Lv3 - Survivor - 30,000 XP - 21 Spawn Locations
      Gun: [CZ 75 PHANTOM SD Pistol] + 3x [18Rnd Ammo]
      Melee: [BaseBall Bat]
      Meds: [2x Bandage + 1x Painkiller + 1x Bloodbag + 1x Morphine]
      Food: [1x Can of Stew + 1x Water Bottle Full]
      Tools: [Map + Flashlight + Compass + Radio + Binoculars]
      Backpack: [Czech Vest Pouch] + 3x [Heat Packs]
      Lv4 - Survivor - 40,000 XP - 22 Spawn Locations
      Gun: [CZ 75 PHANTOM SD Pistol] + 4x [18Rnd Ammo]
      Melee: [BaseBall Bat]
      Meds: [4x Bandage + 1x Antibiotic, 1x Painkiller + 1x Bloodbag + 1x Morphine]
      Food: [2x Can of Stew + 1x Water Bottle Full + Pepsi]
      Tools: [Map + Flashlight + Compass + Radio + Binoculars]
      Backpack: [Czech Vest Pouch] + 3x [Heat Packs
       
      Taviana:
      Below is some of the features the server has
      -
      - Sector-B: Highest & Unique Loot only found there. Hard mission only a few have completed
      - Zombies Removed From Sector-B: No more irritating zombies demanding to be shot
      - Player Loadouts: Russian weapons for Bandits and NATO Weapons for Hero’s
      - Trader Island: The Trader island is where you will do your buying and selling
      - Hidden Traders: All found on the main islands, (check the map for what’s hidden)
      - Marked Traders: Not everything can be bought at the trader island. Some have cool stock
      - Player Scan: 150m GPS, 350/450/900/1500/2500/7000/8000m using deployable items and map locations (check map)
      - Oil Mission: collect and see oil for $$$
      - Weed Farms: Take a knife to farm weed, take a machete for double weed
      - Farm Metals, Wood & Stone: Take a pickaxe and some locations can be farmed for useful bits
      - Garage Door Opener: Open garage doors from within your vehicle.
      - View Distance: Change from 300m to 10,000m view distance and requires 2 items to get all
      - Looting: Some items cannot be bought, GPS, Range Finders etc, you need to find them
      - Gem Exchange: Breakdown ruby’s for other gems here
      - Dr Ivanica’s Lab: Exchange Sapphire for rare ammo here
      - Drug, Gem and Bomb Dealer: Sell your drugs, ruby’s and Gems here
      - Gas Station Explosions: Gas stations will blow up and loot from vehicles is thrown out
      - Bomb Crates: Random crates filled with loot
      - Deploy Items: Tables, scanning equipment, walls, vehicles, base decorations etc
      - Deploy Houses: 8 houses can be deployed, 4x wood and 4x brick
      - Grow trees: Find the hidden tree trader to grow trees at base
      - Overdose on Cola and Weed: Just get baked out your head
      - Humanity Dealers: Buy back your humanity, be warned, you can’t buy much
      - Locate Vehicle: Find lost vehicles on the map as long as you have the key
      - Flip Vehicle: Right click tool box and flip it back
      - Custom Map Markers: All locations marked on the map
      - Base Raiding: Get scrap electronics from Sector-B to raid bases (you cannot take over a base)
      - AI Checkpoints: Various locations with AI protection squads
      - Air Patrols: There are three islands on Taviana, regular air patrols fly around
      - Base Regulations: Sick of seeing those stupid cock towers all over the map… not here
      - Safe Zones: These are only at the trader island and aircraft dealers
      - Balanced Vehicles: All armoured vehicles have the gunner exposed
      - Aircraft No-Shoot Zones: The orange strip at each airport is a no shoot down location
      - Mission System: These with Sector-B and heli patrols, there is plenty to shoot at
      - High FPS: Upgraded server running a high speed CPU, some player have over 100FPS
      - Leader Boards: Get on this board and get access to secret missions such as safe hunt
      - Plot Hoarders: Check game time every 4 weeks to stop players holding locations
      - Service Points: Arm and repair from gas stations
      - Tow & Lift: Advanced tow and lift
      - Origins vehicles: Inc the submarine which can submerge, flying fortress and other vehicles
      - Large Base Build Limit: 300 items per plot pole, 1 plot per player
      - Snap Build: Full control over how a base object is placed, tilted, spun or manipulated
      - CCTV: Fully working CCTV systems for base defence and monitoring
      - Game Time Perks: If you have high in game play time you get some unique perks
      - Door Bell: Ring the door bell of your friends bases or scare people hiding in their base
      - The Devils Tree: Worship the tree and get a Satanic gift that may be shit, might be good
      - Race Track Cars: Fancy a race, take one for a spin
      - Methylamin trader: $350,000 per barrel if you sell them,  and also required to grow trees
      - Sector-B 7km Scan: Scan up to 7km by using the massive Sector-B radar array
      - Deploy Houses: 4 wooden and 4 brick (these are being tested to make sure they don't de-spawn)
      - Deploy Origins Nests: (these are being tested to make sure they don't de-spawn)
      - USS Fleshlight: Aircraft carrier with an MV22 loaded with Oil on the flight deck for you to grab
      - Sector-Z Mission: Cave system with loaded Urals for you to grab
      - Air Launch Zones: Take off from the mountain on a deep dive
      - Pyro's Onion Ballistics: Player run shop where you buy and sell with real players who have looted, won, fought or stole everything they sell
      - Take a Poo: Take a big shit and heal all your pain, just right click on toilet paper
      - Kill Yourself: Kill yourself with your side arm, just right click it
      - Take Clothes: Remove clothes from your body and other players
      - Bury or butcher bodies: Lose or gain humanity for doing it
      - Three new Spawns: Bet you are dying to see
      - Mrs Bee's Flight School: Free planes
      - Hidden Safe Missions: Find the hidden safes
      - High Level Traders: You need 450,000 humanity either + or - shop here
      - Loot Maze: At Taviana Zoo
      - Abandoned Safes: if you let your safe go unused it will reset the code and tell everyone
      - Pirate Treasure: who knows... what’s in there!
      - Roaming AI: AI will now spawn on you randomly... heat just got turned up
      - Roaming Vehicles: 5 vehicles driving round the map... if they see you they will jump out!
      - Rivet City Mission: Fight for loot under USS Fleshlight which is in dry dock for repairs
      - Tank: Only 1 on the server, grab it from Sector-B, de-spawns on restart but you have till then to be a nuisance
      - The Irradiated One:
      - Custom HUD:
      - Base Jumping: From 30m up, should make more options for picking a sniper spot and not worrying about getting down
      Have Fun
       
    • By Harkness
      Mods;
      DayZ_Epoch 1.0.6.2 / Namalsk 0.75
      Scripts/Features;
      EMP Storms and ASPI Protection Device
      Freezing Weather and Slow Zombies
      Warm Clothing and APSI @ Traders
      Refuel, Repair, Rearm Stations
      Remove Clothing From Dead
      AI Missions and Events
      Super Mutant Attacks
      Trader Safe-Zones
      Player Kill Feed
      Custom Map
      Alien Rifle
      Raiders
      Snow
      Extras;
      Click Here For Custom Server Settings
      Visit Time2Kill.co.uk for more info
      Discord Invite Link
      IP : 86.10.6.13 Port : 2302
    • By Notorious_BJG
      Hello all, 
      Last week I attempted to start my own Arma 3 Epoch server to use with friends. Unfortunately I have never been able to get one to work on my computer since I ran Arma 2 Epoch a few years back. 
      I continue to run into one particular unknown module error after seeing Mission Read in the server main log.
      (Fault address:  A699B810 00:A699B810 Unknown module
      file:     epoch (__cur_mp))
      Since this is very time consuming to troubleshoot, I've decided that I am willing to pay someone to help me create a server for my friends and I. My intentions for the server are listed below:
      Server: Arma 3 Epoch 1.3+ Map: Chernarus Redux AI Missions/Patrols Zombies (the integrated Ryan zombies are fine) I will host this on my own machine I am willing to pay upwards of $40 for this. If you are capable and confident in doing this, please reply to this and we can strike out a deal. 
    • By Sandbird
      Dayz.Epoch.1.0.62 - 3d.Editor.Live.Mission with Database interaction


      -=Youtube Demo=-
       
      What is this
      A custom mission file for the purpose of testing/writing scripts for DayZ Epoch without the need of a server.
      It emulates the dayz_server and dayz_mission files, so you can write scripts using the 3d editor. No need to use a dayz_server for debugging anymore. We all know how time consuming that is.

      Features
      Full Database integration (yes thats right... [:)] I would suggest to have a maximum of 100 objects in your object_data table for faster results.
      Took 5 min to load 10000 objs from my real database, so also make sure you dont go crazy with the MaxVehicleLimit, MaxDynamicDebris values in the init.sqf Fully working GUI, zombies, hit registration, addactions, everything! Write code and execute it on the fly. No need to start a server and join with a client to test things. 100% of your scripts will work! (dynamic weather, default loadouts, custom scripts etc) 2 setups. A default 3d editor player with a default loadout or a Real database character based on your UID Includes most of BIS_fnc functions, so actions like BIS_fn_invAdd will work (i've added most common ones...more included though...check details bellow.) Everything works...when i say everything i mean EVERYTHING !. (Spawning objects on mission start, traders (buy/sell), maintenance, character update, events, stats...etc) New Features!
      All .FSM files have been converted to .SQF meaning the mission acts as a full fledged server / client merge. New character creation has been ignored though, so the server expects that the client that is about to connect exists in the database. The server will start, wait for a 'fake client connection to happen' (you pressing the Preview button), and then it will load your character from the database, spawn Hive objects and create new based on your MaxVehicleLimit values etc, then initialize the events and finally spawn the character to his worldspace location. Use AdminTools to spawn any Perm, Temp vehicle you want, including buildings, crates etc. Building objects is working as expected with a little AddAction trick. Unfortunately the primary display (eg: findDisplay 46) isnt working inside the editor. That means that building stuff or placing objects is very hard to do since we can't 'capture' keystrokes.
      Further details below after the Installation instructions. Arma2Net is not allowed by Battleye anymore, so i am using extDB3 now. Requirements:
      A mysql server on the same machine as your Arma2 editor. Well...a remote PC would work as well...just make sure YOU ARE NOT using your original database. Make a copy of it!. This mission will interact with your database !
      If you don't have a mysql server on your pc...i suggest you get WampServer. It's the easiest php/mysql server out there.
      Installation
      Head over to the GitHub where the project is. Click Download on the right sidebar, and extract the rar file. Copy the 3d.live1062.DayzEpochTemplate.Chernarus mission file in your \My Documents\ArmA 2\missions\ folder If your active Arma profile is not the default one, then you probably should extract it in the \My Documents\ArmA 2 Other Profiles 2\missions\ folder, otherwise you won't be able to find the mission inside the editor. Copy everything inside "Arma2OA root folder" in your root Arma2OA folder (the same folder where @DayZ_Epoch_Server, MPMissions are). The real_date.dll...(Thanks to killzonekid) is used to get your machine's date/time to be used for live day/night cycles inside the game (...you can set a fixed day if you want...details bellow). The tbbmalloc - tbbmalloc_x64.dll files are provided by extDB3. They shouldnt interfere with your normal game, but they are needed for the mission to be able to connect to your MySQL server. (Make a backup of your original ones if you want, just be safe.) EATbaseExporter is used by the AdminTools, and allows you to export bases to an .sqf format so you can import them afterwards to your server. Now edit -=START HIVE MISSION=-.bat which was placed in your Arma2 folder, and fix the paths to their proper values. If you are using DZLauncher then the @Dayz_Epoch folder is probably where i placed it myself.  Battleye needs to be disabled inside the editor otherwise the extDB3 addon will not work. The .bat is taking care of that. It will disable Battleye after 7 seconds. Depending on your machine, if you see that the time isn't sufficient, raise that value a little bit. A sample Database has been provided with me as a character and a basic loadout. You can of course use your own database, just remember to delete most of your Object_Data table vehicles. The more vehicles you have there, the longer it will take for the dayz_server to spawn them. If you just want to write a script independent of cars etc...why wait 5 minutes for the server to spawn 10000 vehicles :) Open "ArmaOA\@extDB\extdb3-conf.ini" and add your test database data there. I named the test SQL DB dayz_cherno [dayz_cherno] IP = localhost Port = 3306 Username = dayz Password = mypass123 Database = dayz_cherno # dayz_cherno is the name of the database (change it in both values) # localhost is your mysql server (could be an IP value as well) # 3306 your mysql port # dayz is your database username # mypass123 is your database password  
      When the game launches, press Alt+E, select Chernarus, then Load mission 3d.live1062.DayzEpochTemplate.Chernarus
      Open \My Documents\ArmA 2\missions\3d.live1062.DayzEpochTemplate.Chernarus\init.sqf
      Go to line 61 and start editing the values there. DB_NAME is the name of your database (same as the extdb3 config file).
      Add your PlayerUID value (same as the DB one) in line 72. (That the player you want to load from the database)
      Depending which map you want to use, you have to change the dayZ_instance variable and also the MarkerP values (line 62) based on your mission.sqm file. Its for the Hive to spawn random vehicles, roadblocks and mines at proper locations based on the map. Just read the comments there for how to get the values. Its really simple. Just copy paste stuff from your mission.sqm file.
      Default setup vs Database setup
      There are 2 ways of initializing your player.
      A live database player based on his UID in the character_data table (coordinates, medical states, inventory etc) A default 3d editor player with a basic loadout. (Ignores Hive Loadouts and initial vehicle spawns) Default setup (extDB3)
      [DefaultTruePreMadeFalse = true;] This option is now the default one, because it's so much easier to set up, plus a lot of things have changed in the 1062 Epoch version. I couldn't totally separate the server files from the client files, so in the end a Database is necessary for the Mission files to work properly. To setup your character with this method, leave DefaultTruePreMadeFalse to true;  Everything is database based..so no need to do anything else. The mission will start with all your stats, inventory, conditions and spawn you where your world coordinates are. Premade Character Setup
      [DefaultTruePreMadeFalse = false;] This setup DOES NOT initialize the character based on a database entry, or does any HIVE related queries on mission start. (like load objects etc). Instead it uses some premade stats that you set, and only uses the Database on updates (buy vehicles etc) The loadout of the player is set in the init.sqf in line 77  
      player setVariable ["CharacterID", "1", true]; // Set here the characterID of the player. It can be anything...just leave it 1 if you want. player setVariable ["playerUID", "111111", true]; // Set here the playerUID of the player you want to have. player setVariable["Z_globalVariable", 100000]; player setVariable["Z_BankVariable", 100000]; player setVariable["Z_MoneyVariable", 100000]; player setVariable["humanity", 11000]; player setVariable["humanKills", 10]; player setVariable["banditKills", 20]; player setVariable["zombieKills", 30]; player setVariable ["friendlies", ["222222","333333"], true]; //Both DZE_Friends and this must be set for friendlies to work properly DZE_Friends = ["222222","333333"]; Everything else should work fine with the database....like traders, salvaging, etc...Unfortunately since the 1062 ver had many differences from the 1051 one, i couldn't really make this Profile option a standalone one, without any Database interaction. So in order for you to minimize any errors in the log file, i would suggest you load my sample db file provided, and also change those CharacterID and PlayerUID values in PLAYER_Data and CHARACTER_Data tables to the ones you set up here, just in case.... The Premade character setup is for people that want to fast debug a script they are making and don't want to wait for the Hive to load all map objects and authenticate the player first. Further Details to change (in both Profile Cases)
      The description.ext, mission.sqf, mission.biedi files have your character's name in them. Just search for the word Sandbird in all of them and change it according to the PlayerName value you have in your Player_DATA table for your PlayerUID value.
      Example taken from description.ext. DONT change the actual My_Player text. The mission file needs that string to read what you typed in the name field.
      class My_Player { name="Sandbird"; face="Face20"; glasses="None"; speaker="Male01EN"; pitch=1.1; };  
      Important info
      Init.sqf values
      DefaultTruePreMadeFalse = true; // True: Read player's data from the database (based on UID), False: the normal player the editor has StaticDayOrDynamic = true; // A static date is set at the bottom of \dayz_server\init\server_function.sqf. Set this to false if you want real time/date inside the mission. DZEdebug = false; // Set to true if you want a more detailed log file Enable Keyboard actions (menu option) // (findDisplay 46) wont work inside the editor. That means that building stuff or placing objects is very hard to do since we cant 'capture' keystrokes. I kinda fixed this with a trick. In order to build something first you have to initiate the building action (holding the object in your hands) and then scroll with your mouse wheel and select Enable Keyboard actions. This will create a layer on your screen capturing your keystrokes thus allowing you to change orientations etc. Pressing ESC twice after and it will close the fake display and return to normal play mode. You will have to do this every time you want to build something. Related to coding
      Since the Editor has some limitations because its not a real server some things will never work. For example:
      _playerUID = getPlayerUID player; will never work in the editor. To get the _playerUID you have to do this:
      _playerUID = player getVariable ["playerUID", 0];
      This is the most important thing to remember. Lots of scripts use getPlayerUID. You have to remember to change it every time you want to use it.  Of course the player value is just an example here. If you were inside a loop and it had (getPlayerUID _x) then you have to rewrite it like this: (_x getVariable["PlayerUID",0]) findDisplay 46 does not work in the editor. If you are using/making a script that uses Display 46 try using my Enable Keyboard action. It might work in your case. publicvariableServercommands don't exist in the editor. There is no server to accept the command. If you want to use addpublicvariableeventhandler you can do it with call/spawn commands. You can find the handlers usually in the PublicEH.sqf.
      Example: PVDZE_plr_Save = [player,dayz_Magazines,false,true]; publicVariable "PVDZE_plr_Save"; can be written like:
      PVDZE_plr_Save = [player,dayz_Magazines,false,true]; publicVariableServer "PVDZE_plr_Save"; // keeping this so when you move the code to the real server you remember to add it. [player,dayz_Magazines,false,true] spawn server_playerSync; // what to call is usually inside publicEH.sqf. In this case search for PVDZE_plr_Save in the PublicEH file and check the call it makes in the end. You could also change the publicVariableServer to publicVariable. That should work inside the editor. But keep in mind these changes wont work on the live server, since one command broadcasts something to the server while the other just to the client running it. I would suggest you keep the original value and do the PublicEH call instead, marking it down with some debug comments next to it, so when you are done and want to transfer the files to your live server you just remove the call and everything should work as expected.
      Don't forget to change the paths when you are adding addons to test/modify them. For example, notice the differences here:  player_switchModel = compile preprocessFileLineNumbers "dayz_code\compile\player_switchModel.sqf"; player_checkStealth = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_checkStealth.sqf"; The first line will look up for player_switchModel.sqf inside the editor mission files, while the 2nd one will go to the @Dayz_Epoch map file and get the .sqf file. Same thing applies for the dayz_server files (server_functions.sqf). Once you are done with your script and you have added new compile lines, you need to fix them back to their proper values before you upload them to your live server.
        If you are missing any BIS_fnc functions then check the folder dayz_code\system\functions and see if it's available there to include it in the compiles.sqf. Set DZEdebug = true;  in the init.sqf. And ALWAYS check your RPT log file for debugging. Its located at : %AppData%\Local\ArmA 2 OA folder. Related to mission file included
      You'll notice when you start the mission there are 2 bots standing there. If you double click the soldier you'll see that he initiates this script scripts\BotInit.sqf. I left that in purpose in case you want to do some scripting that requires 'another player', and you want to initialize the fake player like that. The other bot can be deleted. I just left it there because i was testing a Tag Friendly script, and needed a 3rd 'player' that has me as a friend. I've included a simple Fireworks script i made a while back only this time i used some better effects taken from aliascartoons work. Just add a 'SMAW_HEDP' into your inventory and right click on it to test it out. Here is how the old script used to look like Fireworks. Also you'll find a little 'hat script' in the files, just right click a 'IRStrobe' item to add a hat to your player. Both script were written inside the editor using the mission file above...just a small example to show you how easy it is to write code there. The @extDB folder contains a folder called debug_files. These .dlls (when replaced the ones provided) activate a more detailed log file (found under arma 2 operation arrowhead\logs folder). It will show ALL MySQL queries going in/out of the database. Very useful if you are running any custom SQL queries and the RTP log file isn't enough.
      Final Notes
      These are heavily modified files...Dont overwrite them with your own files. Add to them instead of replacing them.
      If you are writing scripts that dont require the server to restart, then you can just go to 2D editor and press Preview again after you make the changes. No need to hit Restart. As long as you are doing changes that doesnt affect the Hive loading you can basically run things on the fly. For example in the init.sqf at the bottom i added a Add BankMonkey example. That command just loads the custom\money.sqf and shows a simple extDB3 example on how to select/update a DB table. Since this command doesnt require the server to restart, you can just hit Preview, test things out, and if you want to make changes, go back to 2D Editor, edit your changes in the money.sqf file and hit Preview again. No need to hit Restart and wait for the dayz_server functions to do their thing again.
      The whole purpose of this project was to not waste any more time trying to code on this god forsaken Arma engine.
      And a personal note....You will NEVER find an easier way to code stuff for Dayz....period. This is the fastest way to write code and see it in action.

      Hope this code will help you write code faster and easier !
      ### Credits
      This mission file would not be possible without the help of these addons/people

      DayzEpochTeam | http://epochmod.com
      killzonekid | http://killzonekid.com
      extDB3 | https://bitbucket.org/torndeco/extdb3/wiki/Home
      ebayShopper | https://github.com/ebayShopper/TestKit
      JasonTM (for the latest beta AdminTools)| https://epochmod.com/forum/topic/44863-release-epoch-admin-tools-v-1107-test-branch/
    • By gskyline203
      First off I'm sure this question would be more appropriate on the DayZ Launcher Forums, but their email servers are screwed and i cant login, so im hoping someone here might be able to help me.
      I used this youtube video to set up my bare bones epoch server.
      Everything went well, and the server runs with no errors in the .RPT file. I can join it through the LAN server browser within Arma 2 OA just fine. What I am trying to do now is make my server joinable in public server lists like dayz launcher.
      I have port forwarded the arma ports and steam client ports as well.
       
      I have also allowed arma 2, arma 2 OA, arma2oaserver, and steam client through my firewall. 
      My server does show up on dayz launcher but as "Offline" with 0/0 players and 9999 ping. ( I dont know if I can only see it because its on my own network maybe? ) *Linksys Router*
      but that is my issue.
      This server is running on my dedi box at home with high speed download and upload (should be plenty) .
      I also made my dedi box's ip static. ( i did this after i created the server so maybe thats a no no?)
      Like I said I can join in just fine but only through the LAN browser in game. 
      I used a port checker to ensure my ports were in fact open, and used the dayz launcher server checker to ensure it can be found, and it did find it and said it would be added to the server list within 30 minutes. ( it did! but it shows up as offline! and unjoinable)
      *I have no idea if this means anything but i used mySQL with HeidiSQL when setting up my server* (I also ensure that the mysql service is running when i start my server up).
      At this point I have no idea what to do, so any thoughts would mean the world to me, thanks!
      Server IP = 97.91.203.245:2302 (steam query = 2303)
      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      P.S. Here is my "11_chenarus.cfg" and "basic.cfg" (again, im not sure if these are helpful but ill include them anyway)

       
       
       
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...