PartyMe
The mod is Client AND Server side. Beta: https://steamcommunity.com/sharedfiles/filedetails/?id=2121455395 [02/16/2024] Hello guys, First of all, happy new year to everyone! It's been a while since my last update in mid December, missed my goal of releasing the new version in December. I'll give the why for being transparent: - 23rd december, I had a heart problem, huge pain, shortness of breath - Lot of medical… (more)
The mod is Client AND Server side. Beta: https://steamcommunity.com/sharedfiles/filedetails/?id=2121455395 [02/16/2024] Hello guys, First of all, happy new year to everyone! It's been a while since my last update in mid December, missed my goal of releasing the new version in December. I'll give the why for being transparent: - 23rd december, I had a heart problem, huge pain, shortness of breath - Lot of medical appointments in January (Still some this month) - Since mid-January, I've also been in the process of moving house, which will arrive on the 22nd of this month It's been pretty hard for me to make time for modding again with recent events, and I'm also very tired from it all on top of my work on the side. Model images: https://imgur.com/a/72FUNuF I'd like to share at least some of what's been done, I'd like to show something other than models... Aside from that, I've started writing the mod's appearance with the idea of making it agnostic enough to be modified by other modders. To the next one, see you! Mod description PartyMe is a mod that allows you to have a group with your friends. In the game as is, you don't have the possibility to know exactly where your friends are, or see their health. With this mod, you'll be able to see your friends health, but you'll also have an icon that follows your friend telling you the distance between you and them. This mod aims to facilitate communication between friends, and not to spend hours looking for your friend who doesn't know the names of the cities! For opening party manager press P Server Installation 1. Subscribe to workshop mod 2. Find folder of mod it should be located in something like %SteamFolder%\workshop\content\221100\1582671564 3. Copy folder named: 1582671564 into your server folder 4. Rename the folder: @PartyMe 5. Copy Key inside @PartyMe folder and transfer it to folder "keys" of your server (if doesn't exist, create the folder) 6. Add to your -mod= party me ( e.g: -mod=@CF;@PartyMe; ) 7. Launch your server Custom images / Icons for trackers - Create an or download a TGA (For transparency image need alpha channel) - Add image into C:\Users\YOURUSERNAME\AppData\Local\DayZ\TrackingIcons - In game press P go in options through the O next to close window - In Icon 1 (Or 2) Image Name section, add the name of the image (That don't need the .tga, mod add it by default) - Click Apply Note: The new icon appear only with new party members What now ? - Party up to 5 players - HUD of party members life and name - Party member tracking - Tracker settings - HUD settings - You can implement your own icon tracker - Key binding for menu and hide trackers in dayz settings What next ? - Server settings for turning off friendly fire of member in same party - Server settings for turning off party tracker - Server settings for turning off player health - Inspect party members outfits There are many things to exploit; and I invite you to give ideas to complete this mod ! If you have a problem, open a new discussion on the steam page of the mod. Credits: Thank's for OP, Not A Banana and Axelander for testing the mod with me ! Huge thank's to Rak for helping me to sign files correctly. Also a big thank's for creators of RPCFramwork, life is easier with that. Donations: I develop this Mod in my free time, I create the content for myself, but also to produce content that would please the community! I was asked why I didn't have a donation section, so why not create it, if you want to help me buy in my external purchases of everyday life it would be appreciated! Make a donation here! Thank's for supporting me guys and using my mod! Repack and others: You are authorized to repack the mod. But, I like you to read my opinion on it. Also, if you repack, quote me, or at least the steam page of the mod. Repacking mods will not improve your server's performance; using the excuse that it will reduce the number of mod names is slightly stupid. Server hosts can create groups of mods to overcome this problem, or clients using the official or unofficial DayZ launcher can download mods before entering a server. Concerning people wishing to make changes to the mod, if you only want to change a few values, I advise you to make a mod that mod PartyMe. You can find more details on the official DayZ wiki: https://community.bistudio.com/wiki/DayZ:Enforce_Script_Syntax#Modding The main advantage, is that you change only what you need, instead of having all the code, rework a code, even a few lines, if you don't know where you are you can quickly get lost. Especially in the current mod code which is not documented. That's all I have to say, having a little credit if you do repacking or modification will be a great pleasure! Have a good time!
Patterns that can stall a single frame regardless of the load figure — see below.
Every server-visible override preserves its chain.
0.0662% of each server frame at 100 players (0.662 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 27 others share it. Ranked list.
Repeating timers carry 89% of this mod's structural load. 0.662 ms/s in all.
1 hook · 0.074 ms/s
1 hook · 0.000002 ms/s
4 timers · 0.59 ms/s
| Per-player hooksrun about 30 times a second for each player | 1 hook | 0.074 ms/s | 11% | DayZPlayerImplement.CommandHandler |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 1 hook | 0.000002 ms/s | <0.1% | MissionServer.InvokeOnDisconnect |
| Repeating timersstay in the timer queue, which is walked every frame | 4 timers | 0.59 ms/s | 89% | every 1 ms, every 12 ms, every 40 ms and 1 more |
Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.
Where this mod runs often
Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.
Other findings
Per-player-per-frame hooks · 1 · warning
- DayZPlayerImplement.CommandHandler runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
scripts.pbo::4_World\dayzplayerimplement.c:6
- DayZPlayerImplement.CommandHandler runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.
How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.
Everything else
All 5 overrides
Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.
| method | surface | server | super() | where |
|---|---|---|---|---|
DayZGame.DeferredInit |
— | yes | ✓ | scripts.pbo::3_Game\dayzgame.c:9 |
DayZPlayerImplement.CommandHandler |
T1 | yes | ✓ | scripts.pbo::4_World\dayzplayerimplement.c:6 |
MissionBase.CreateScriptedMenu |
— | yes | ✓ | scripts.pbo::5_Mission\mission\missionbase.c:3 |
MissionGameplay.OnKeyPress |
— | yes | ✓ | scripts.pbo::5_Mission\mission\missiongameplay.c:56 |
MissionServer.InvokeOnDisconnect |
T3 | yes | ✓ | scripts.pbo::5_Mission\mission\missionserver.c:18 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
DayZPlayerImplement.CommandHandler | T1 | 3000.0 | measured | 0.0744 |
MissionServer.InvokeOnDisconnect | T3 | 0.1 | placeholder | 0.0000 |
Repeating timers
| period (ms) | residency ms/s | firing ms/s | where |
|---|---|---|---|
| 1 | 0.1400 | 0.024800 | scripts.pbo::3_Game\Tracker\tracker.c:19 |
| 12 | 0.1400 | 0.002067 | scripts.pbo::3_Game\Hud\hud.c:16 |
| 40 | 0.1400 | 0.000620 | scripts.pbo::3_Game\Party\party.c:16 |
| 5000 | 0.1400 | 0.000005 | scripts.pbo::5_Mission\mission\missionserver.c:14 |
Includes 0.000 ms/s from placeholder-rated surfaces.
Load-order constraints (CfgPatches)
What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.
gui.pbo
partyme_GuirequiredVersion 0.1 — no requiredAddons
scripts.pbo
partyme_scriptsrequiredVersion 0.1 — requiresDZ_Data,RPC_Scripts
census 1.1 · findings 1.1 · hash a192ede7e2dd7415