Persistent stats inclusion testing

Started by Raptor-Man, December 19, 2021, 04:26:18 PM

Previous topic - Next topic

Raptor-Man

The proof of concept is live ... all kills made by players log to the database ...

Required steps before I can advance the idea:

  • document so we can recreate this process
  • test the signed version of the mod on the server
  • publish mod on steam
  • import from steam to standardize it with bikey as test

Next ideas:


  • track objectives, towns, missions completed, area controlled, # of outpost/bases etc compared to enemy
  • track roles/traits stuff in arma (rock will be my subject matter expert) & start logging when players user their role traits (location used/time etc) ... maybe location of all other players nearby & those player IDs
  • analyze the distances, traits used, map control, objective control & store in tables
  • we import a visualization mod to show players working together
  • start saving server state for missions into db
  • figure out how to reimport that mission status data afterwards in a way that works :)
  • we can now make campaigns that spawn multiple islands or missions
  • we can make webpages that players can fill out or edit in game equipment loadouts, ban equipment, modify various permissions, mission settings etc


Option #1:  maybe we can configure actual server settings, but don't hold your breath on this is it would be virtual thing swapping out stuff once server initializes & before players connect
Option #2:  maybe start messing with AI controlled units in tracking


---

Some notes - I'm not going to bother with stuff like ace medical - but the most important part of event tracking is all the objectives, traits & teamwork related events.

Some of these other mods - feel free to step up & help me write the eventhandlers, offer to pair up and walk through use of the mods with me if you want something included.

I will not be implementing other people's ideas for them, you either take the time to get on a call conference so i program while you help direct or you do the idea alone by yourself.

Some stuff I pondered for events to track:

vanilla arma3:


    dragging
    firstaid / medic kit
    revivals
    scroll wheel use (skills reside here often)
    flag caps
    promixity to caps
    control of zones

antistasi:

    firstaid
    medic kit
    find intel
    loading loot into vehicles
    loot to inventory
    base building
    hiring
KP liberation

    zone control participation (kills in zone between it changing status from side to side basically)
    base building
---

Stuff I won't be doing unless someone else is on it:

    ace medical
    alive mod hooks
    vindicta events

Raptor-Man

Rock said to go ahead & engage the mods.

Neither mod should do anything if players aren't online making kills.

Mod #1:  extdb3 - this lets us communicate to the server
Mod #2:  ELDB - event logger database - this sends events from Arma3 to extdb3

No server impact is expected.

The mods have been installed all year & not active.  As of today you will see them on battle metrics.  Both mods are server side only so no actions from anyone is required.

https://www.battlemetrics.com/servers/arma3/5984236

Raptor-Man

#2
 - success update

=JpS=SgtRock


Raptor-Man


      killed uid
    killed name // AI won't have UID - not sure should record, but might net interesting llama on llama tk info
    killed team // teams appears to be useless as most mods add their own factions into the team slots
    killer uid
    killer name
    killer team // teams appears to be useless as most custom missions add their own factions into the team slots
    killDistance
    currentMap // from worldName
    currentMission // from missionName
    currentServerName // from serverName
    killerPos // heat map idea
    killedPos
    weaponName
    weaponClass // fn_weaponNames might need to be where we credit players in vehicle too
    isVehicle
    vehicleClass // from typeOf vehicle player
    vehicleName
    ingame date/time
//player roles of both? // with getAllUnitTraits - Link
// squad names are hand typed - so might be sql injection issue