• Announcements

    • Flosstradamus

      Official Discord   03/15/17

      https://discord.gg/FMkqWpF Click the link above and join our Official Discord!  Chat with developers and get quicker support!
    • Vishpala

      Arma 1.68 Update   03/15/17

      Post bugs here:  

Eichi

Lead Developer
  • Content count

    1472
  • Joined

  • Last visited

Community Reputation

4160 Excellent

About Eichi

  • Rank
    Captain

Recent Profile Visitors

26211 profile views
  1. What simulation actually means is that some logic is executed per simulated object per frame. So if you have 10,000 simulated objects, your server will simulate 10,000 things every server frame. The more your server has to do, the longer it takes. Thus the processing time for a single frame gets longer and your frame rate drops. There is no technical documentation available for this, but I assume simulation is done in every frame, as this is quite common. Well, at least it was at the time the engine was written. In Arma, basically, everything is a vehicle. Yes, a stupid car. Even a door or a lantern. This seems to have some evolutionary background and is just the way the game has been designed. Arma does not have as that many stationary objects out of the box. And it does not need to. There are different types of simulation, though. For example, our walls are of type "building". That is the simulation type that is the cheapest performance-wise. But disabling it completely is even better. Walls etc. do not need to be simulated, but doors need to - or you wouldn't be able to open or close them. As a trade-off, we have added something that we called a simulation manager two years ago. It basically checks if a player is nearby an object that needs to be simulated and if so, enables simulation. If no player is nearby an object that needs to be simulated to function, it disables the simulation of that object to increase performance. In the newest patch, Bohemia has added an engine-based simulation manager. This confirms the need for it. But I would be careful with this built-in simulation manager - because, Arma. Chances are good new features do not work out of the box. It usually takes a patch or two until they are stable. I have requested a new type of object in Arma in December 2015. The result is what Bohemia calls "Simple Objects". They are perfect for trader cities, since these are not "vehicles" anymore, but just 3D models that do not have any kind of simulation. These simple objects would be perfect for walls, too, but they lack the functionality of being re-skinnable. And we need this to visualize damage on them. I have requested the option to re-texture simple objects in-game in Summer 2016, but did not (yet?) receive a reaction of Bohemia on that. I have given up on that. As a general rule of thumb, ensure your server has no more than 7,000 vehicles/objects. I found this to be the margin where everything starts to go down the drain.
  2. ??? Exile Life wird von einem eigenständigen Team entwickelt, nicht von "uns". Ja, endlich! Es waren eh immer nur ca. 200 server mit Spielern befüllt. Damals wie heute.
  3. Ich mache auch nichts mehr. Habe das Update nicht einmal heruntergeladen. Dafür fehlt mir schlichtweg die Zeit, Motivation und seit dem Schlaganfall auch die Brainpower. Dafür gibt es jetzt neue Leute. Ich erwarte von den neuen Jungs nicht, dass sie bis zwei Uhr Nachts nach der Arbeit noch an Exile sitzen. Sonst landen die auch bald sabbernd im Krankenhaus. Das kannst Du genauso. Die RC versionen sind öffentlich und Du könntest deine Server auch schon vorher auf die RC patchen und schauen, was kaputt geht. Nur weil man es kann, heisst es aber nicht, dass es sich auch lohnt. Ich habe mit den Release Candidates schlechte Erfahrung gemacht. Warum? Erstens: Selbst wenn ich Fehler an Bohemia melde, werden die eh nicht vor Veröffentlichung behoben. Zweitens: Die Release Candidates sind keine echten Release Candidates. Neue Features, die in den RCs drin sind, werden nicht zwangsläufig auch veröffentlicht. Es macht unsererseits keinen Sinn Exile von neuen Features abhängig zu machen, welche dann nicht veröffentlicht werden. Drittens: Selbst wenn neue Features in einem Release Candidate enthalten sind, besteht eine 98%ige Chance, dass sie eh nicht funktionieren und erst im Patch danach stabil sind. Die einzige Art hier heran zu treten ist das Update abzuwarten und zu schauen was auseinanderbricht. Dass Arma etwas schrottet steht außer Frage.
  4. Pong!
  5. Ehm... are you really having 700 doors? If so, it might be cheaper for you to not add them to the simulation manager and leave simulation on all the time?
  6. It is so nice seeing you guys figuring out all the things while I am changing diapers. Sorry I cannot be as that much of a help these days.
  7. Doors not opening workaround here:
  8. Use this workaround until we release a patch that fixes the cause of this issue. Overwrite function ExileServer_object_construction_database_load with this: /** * ExileServer_object_construction_database_load * * Exile Mod * www.exilemod.com * © 2015 Exile Mod Team * * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. */ private["_constructionID","_data","_position","_vectorDirection","_vectorUp","_constructionObject","_damageLevel","_public","_pinCode"]; _constructionID = _this; _data = format ["loadConstruction:%1", _constructionID] call ExileServer_system_database_query_selectSingle; _position = [_data select 4, _data select 5, _data select 6]; _vectorDirection = [_data select 7, _data select 8, _data select 9]; _vectorUp = [_data select 10, _data select 11, _data select 12]; _constructionObject = createVehicle [(_data select 1), _position, [], 0, "CAN_COLLIDE"]; _constructionObject setPosATL _position; _constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp]; _constructionObject setVariable ["ExileDatabaseID", _data select 0]; _constructionObject setVariable ["ExileOwnerUID", (_data select 2)]; _constructionObject setVariable ["ExileIsPersistent", true]; _constructionObject setVariable ["ExileTerritoryID", (_data select 15)]; _damageLevel = (_data select 17); _public = _damageLevel > 0; _constructionObject setVariable ["ExileConstructionDamage",_damageLevel,_public]; if(_public)then { _constructionObject call ExileServer_util_setDamageTexture; }; _pinCode = _data select 14; if !(_pinCode isEqualTo "000000") then { _constructionObject setVariable ["ExileAccessCode", _pinCode]; _constructionObject setVariable ["ExileIsLocked", (_data select 13), true]; }; // 2017-03-16 + TEMPORARY WORKAROUND UNTIL EXILE UPDATE //if (getNumber(configFile >> "CfgVehicles" >> (_data select 1) >> "exileRequiresSimulation") isEqualTo 1) then //{ // _constructionObject enableSimulationGlobal true; // _constructionObject call ExileServer_system_simulationMonitor_addVehicle; //} //else //{ // _constructionObject enableSimulationGlobal false; //}; if (typeOf _constructionObject in ["Exile_Construction_ConcreteDoor_Static", "Exile_Construction_ConcreteGate_Static", "Exile_Construction_WoodGate_Static", "Exile_Construction_WoodDoor_Static", "Exile_Construction_ConcreteWindowHatch_Static", "Exile_Construction_WoodGate_Reinforced_Static", "Exile_Construction_WoodDoor_Reinforced_Static", "Exile_Construction_ConcreteFloorHatch_Static"]) then { _constructionObject enableSimulationGlobal true; _constructionObject call ExileServer_system_simulationMonitor_addVehicle; } else { _constructionObject enableSimulationGlobal false; }; // 2017-03-16 - TEMPORARY WORKAROUND UNTIL EXILE UPDATE _constructionObject setVelocity [0, 0, 0]; _constructionObject setPosATL _position; _constructionObject setVelocity [0, 0, 0]; _constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp]; _constructionObject setVelocity [0, 0, 0]; _constructionObject
  9. We have been able to identify the door issue
  10. Yes. It is okay for now if you absolutely must keep your server up today or tomorrow or so. But it will negatively affect performance. There is a reason why we have a simulation manager since day one and why Bohemia now has one, too.
  11. Thinking about removing the terrain objects and replace them with self-spawned ones. People do that with buildings already. But: It's just stupid.
  12. Can confirm it doesnt work anymore. I guess we gonna remove that feature ... Thanks, Arma.
  13. ^ RIP me I don't even have the update yet.
  14. Reputation++