Jump to content

meatball

Member
  • Content Count

    734
  • Joined

  • Last visited

  • Medals

Posts posted by meatball


  1. Another thought I had, I have a _lot_ of triggers that are checking for various things. I know triggers check a bunch of times each second, but most of mine don't need to check that often. There any way to maybe lower the frequency of trigger checks? Maybe dropping most of them down to only check each second or two would ease things up as well.

    ---------- Post added at 18:33 ---------- Previous post was at 18:31 ----------

    Which caching script are you using?
    99% of my AI are created using the AI Spawn Script pack by spunFin, mainly with the Ambient Combat/Militarize scripts. I'm using spunFin's simpleCache script that comes in the pack to cache all the militarize units until the players are within 1250m of the target location.

    Also have it set so Ambient combat will not run and will stop anytime any of the militarize units are alive.

    To make sure dead units aren't an issue, I'm also running Aeroson's repetitiveCleanup script that nukes dead bodies/vehicles etc within 10-20 minutes.


  2. I'm working to improve the performance of one of my missions on a 'Dedicated' server I'm using occasionally to play / test with friends. Finding we're all having FPS issues, often times dropping down to the 10's/single digits which leads me to believe it's the server itself. I know my mission are pretty hefty and there's a lot going on, but was hoping someone could help me pick apart my .rpt file and see if I can clean up some issues before I attempt to rip the mission apart and add in Headless Client support. Here's some of the background info.

    Dedicated Server Specs: ASRock H77M Mobo, Core i5-3570K CPU (3.4-3.8GhzTurbo), 16 GB RAM, A3/Server Software installed on a RAID 5 HD Spindle Drive (Read speeds ~ 198 MB/s). Using the latest Dedicated Server software (updated to the Steam ID 233780 package) with Tophe's Server Tool. Have 50 MB Down/5 MB Up Internet service. Never have more than 8-10 people on the server.

    With my main mission (Altis Force Recon: West) I am using a caching script to cache the bulk of the AI running around, but there's still usually 100+ AI. I decided to run a test with some debug info and ran through about 45 minutes of a mission on my own. Tons of random errors about items missing, not found or empty, but I'm not 100% sure what to do about any of it or any of them are having any impact. Here's the .rpt file if anyone wants to poke through it. Any suggestions/info would be much appreciated!


  3. v 0.8 Released!

    Changelog

    - New starting location of "Central Altis" available for an inland drop. Be warned that choosing this starting location (from the flagpoles) is a ONE WAY TRIP and you cannot return the island starting locations once you are dropped inland.

    - Added in win conditions if someone completes all the tasks.

    - Added in new random events that occur during the mission.

    - Updated to VAS 2.2 and tweaked the VAS box contents.

    - Continued work to tweak AI balance and server FPS issues.

    - Various task and mission fixes and tweaks.

    Known Issues

    - Mission still not fully tested in MP/Dedicated and some tasks may not work as intended. Please let me know if you find any problems!

    See initial post for download link.


  4. Alright, maybe I'm confused. I thought the point of having the 'Standalone Dedicated Server' package was to allow us to setup/run a dedicated server on another box without Steam running. I just downloaded the server software through tools in Steam, went to start it up and it immediately asked me to login into Steam.

    Am I doing something wrong, or is that a requirement to run the Server?

    Edit: Alright, looks like I was doing something wrong. You can still run the .exe without logging in, but the shortcut created on the desktop requires a login to Steam and then opens up a text file telling you to run the .exe :)


  5. Thanks for all the help/feedback. I think I hit upon something that works last night and is pretty easy. Since the militarize scripts allow me to set custom init fields for the units I simply added a "miliTroops = group this;" to the custom init field in the militarize call which adds every unit that is spawned (or respawned) to that group.

    I then simply set up two triggers, one watching for alive units in that group == 0 that spawns the ambient combat and another watching for alive units in that group >= 1 that despawns ambient combat.

    ({alive _x} count (units miliTroops)) == 0;  // Condition for trigger that spawns ambient combat.
    ({alive _x} count (units miliTroops)) >= 1;  // Condition for trigger that despawns ambient combat.
    

    Seems to work great. As soon as the players get near a zone that was cached and the cache script respawns those militarize units, the trigger sees it and kills off the ambient combat and when the players leave the area or kill off all the enemy AI that were respawned, the other trigger sees it and starts ambient combat back up.


  6. Yeah, I don't think that will work just b/c there's multiple objectives and it's impossible to tell just what objective a player might be near. I really think the best way to handle is to do a check on whether or not at least one of those "LVgroups" is alive or !isnil or something to that effect, I'm just not sure how to check against part of a group name or a groupname but use wildcards.

    If it was possible to do something like (count (units LVgroup**)) == 0) in a condition, where the ** were wildcards that would work I would think.


  7. Maybe I should clarify a bit more. I'm currently using spunFin's AI Spawn Script pack, and three of his scripts there. I'm using 'militarize' to spawn defenders around certain objectives and 'simpleCache' to cache those militarize groups since there's a lot of objectives/groups. Each group is named "LVgroup##" where the ## is an ID number I can set in each militarize call. Then using simpleCache it will de-spawn/re-spawn those militarize groups based on how close the players are to the objectives. This all works fine.

    Additionally, I'm using his 'ambientcombat' script which will spawn a certain number of 'ambient' enemy groups around the players location at all times. This let's me give the players the feeling like there's patrols in most areas. Sometimes they'll run into the ambient groups, sometimes they don't since I have ambient groups ranging out to over 1000m from the players. You can create markers and force the ambient combat groups to avoid certain areas, but I don't believe they actually despawn, they just range outside the 'avoid' marker area. You can also run a script to remove the ambient combat.

    The problem occurs when players hit a major objective that has a good sized 'militarize' group there. The cache script will respawn that militarize group based there and between those AI, and the ambient AI that are floating around for ambientcombat, server FPS just tanks to the 10-15 FPS range and it almost becomes unplayable.

    What I'd like to do is figure out a way that once I start running ambientcombat a trigger will watch for anytime the players get near an objective that has one of the militarize groups, (which I should be able to tell because the cache script will respawn that militarize group and there will now be groups in game named "LVgroup##"). When that trigger fires, it will run the script to remove the ambient combat. And then once the players clear the area (killing all the AI in that group) or move outside of the area (and the cache script de-spawns that militarize group), I can call the ambientcombat script again.


  8. Have an interesting challenge I'm trying to work out for a mission. I'm currently using an AI script that will spawn and despawn AI groups based on the location of the players. Those AI groups always have the group name "LVgroup##" where the ## will be an ID number.

    Is there a simple way for me to set up a trigger to check to see if there are _any_ groups currently alive that have "LVgroup" as the first part of their name? I'd like to have one trigger that will fire when there are no "LVgroup" groups currently spawned, and another trigger that fires as soon as 1 "LVgroup" has spawned.


  9. v 0.7 Released

    Changelog

    - Replacement of old supply crates and implementation of Virtual Ammobox System (VAS) by Tonic. VAS boxes are located on each starting island.

    - Swapped out old cleaner script with new Repetitive Cleanup Script by Aeroson

    - Fixed problem with "Recon Ifestiona" mission. You will now fail the mission if you destroy any of the enemy vehicles prior to observing them all.

    - Added in a timed events/tasks including supply drops, naval artillery support and more caches that may occur during the mission.

    - Further tweaks to streamline AI creation and caching.

    - Minor bug fixes and tweaks to some objectives.

    Known Issues

    - Many missions still not fully tested in MP/Dedicated and my not work as intended. Please let me know if you find any problems!

    See initial post for download link.


  10. Think you guys are making things a bit more complicated than they need to be. If you have triggers set up and named for each task, simply set up another trigger and use 'triggeractivated' and all the other trigger names. So, say for example you have 3 triggers named trig1, trig2 and trig3, that all need to be completed first, set up a fourth "End" trigger with the condition of:

    triggeractivated trig1 and triggeractivated trig2 and triggeractivated trig3


  11. First and foremost. Tophe...thank you a ton. Between Engima and his Escape and your TADST app, you Östgöta Ops guys have added countless hours of fun and enjoyment to a lot of our Arma experiences!

    I have some questions on performance settings. I've read enough to know that they're different for everyone and was hoping to pick the brains of some folks that have more experience on the servers side. I'm running a 'dedicated' server just for some friends that's not up 24x7, but does run some AI heavy missions when we do fire it up to play. I'm trying to figure out the best performance tuning settings for my config/setup.

    - Generally have 6-8 players playing

    - Running on a standalone box (i3-3225 (Dual Core/3.3 Ghz), 16 GB RAM, Win 7 Pro)

    - Have 50 Mbps Down / 5 Mbps Up Internet Connection

    Have found in some instances with a lot of AI we really take a hit on the box and most of us drop down to 10-15 FPS. CPU never goes above 40-50% and RAM never uses up more than a few GB, so any thoughts on performance tuning settings that might help would be appreciated!


  12. - "Dynamic Weather is not synchronized amongst the clients." We had the same issue. Bad for proper immersion..

    I'd love to hear more about this since it looks like they are using the weather script that I wrote :) Unless they've made any mods to it, we've run that weather script on both dedicated server hosted and player hosted missions for upwards of 6+ hours and the weather has always stayed in synch between the server and all the players. The only caveat being that it can take a few minutes sometimes for a JIP player to synch up correctly. Any other information you could offer would be appreciated.

×