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
  • 0

Is it normal for the FPS/CPS to dip regularly like this? wog85Eh.png

 

If anyone was wondering and has the same thing, it's Lootspawner that causes the dips. Each dip coincides with the cleanup routine that Lootspawner runs every 60 seconds.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • 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 gamefail
      Welcome to Arma II DayZ Stratego
      ============================================================================
      Website: https://game.fail
      Teamspeak: ts.game.fail
      Discord: Connect.
      Facebook: Game.Fail
       
      Name: [NEW]ARMA II DAYZ STRATEGO OVERPOCH CHERNARUS
      Game: Arma 2
      IP: a2.game.fail
      Port: 2202
      Player Limit: 100
      Restart Time: Every 3 Hours
      Map: Chernarus
      Mods: Epoch, Overwatch
      Extra:
      Server is Semi militarized Rocket Launchers in trader Heavy ground and air vehicles  
      Scripts
      ============================================================================
      safeZoneRelocate Stormz Craft menu AntiDupe Tow/and Lift Plot management (maintain) 10 days New Effect map right click remove grass, map right click Custom trader Added trader (Gem and sniper trader) Custom loot Remove zombies plot pole and trader zone Tab menu script Stary parking custom build script Hard loot Hotwire door and vehicles  
      Modules
      ============================================================================
      Abandoned Vault Death Corpse Drug Bust Gems Weed
    • 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)

       
       
       
    • By JayJay
      Hi everyone,
      As you can see im a freshy, ive not played much of Arma3 but i played some epoch/ ryans zombies and fell in love :) 
      I have no experience in setting up a server but enjoy the epoch version so much so i had to try to set a server up and if im honest ive been struggling (alot) , ive managed to rent a server and put epoch onto it with ryans zombies, set the time so i play in day light.
      but now im having trouble with loot items not being in buildings and even though i have the zombie mod on i cant see any zombies :/  
      If anybody can help me it would be really appreciated , i do have discord if that helps and i dont mind paying for your time.
      I dont want anything to crazy just EPOCH and zombies with loot :D 
      Bitten off more than i can chew :/
    • By xTimeToShine
      Hey guys,
      i'm proud to present our new "Epic Illusion Gaming - DayZ Overpoch server".
       
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
      [EIG] DayZ Overpoch | Chernarus | 1.0.6.2 | Coins | Lift | Groups | Missions | Events | Deploy Bike |
      IP: 94.250.209.139:2302
       
      We are searching for some Players and also for some Admins. Please visit our Server or come to our Teamspeak or Discrod.
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
      Visit us on ...
      ...Teamspeak:  94.250.223.10:15111
      ...Discord:  https://discord.gg/MTQuUHP
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Our new special features:
      Global Coins System Deploy a bike (Toolbox) Lift & Tow Selfbloodbagging Groupsystem Virtual Garage AI Missions Special PVP Events Custom Loadout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Upcoming features:
      Weaponswitch Enhanced Spawn Selection and much more...  
  • Advertisement
  • Advertisement
  • Supporters
  • Advertisement
  • Discord

×