![](templates/Classic/images/spacer.gif) |
Organ Newbie
Joined: 23 Dec 2023 Posts: 9
|
Posted: Tue Dec 26, 2023 4:23 am
Stability and Performance issues |
I just returned to MUD and Cmud after many years (3 to MUD, maybe 8 for Cmud).
I'm noticing some issues with stability and performance that someone can hopefully shed some light on. I'm using Win 10 and Cmud 3.34
Stability:
I run four character sessions. When I log onto the game with them, one at a time (I don't remember how to set up a super session to do that), I notice that sometimes entire classes will disappear. I either have to rewrite them or copy them from another character's package file. Additionally, other windows like various Chat output windows get tied to certain character sessions, but appear and disappear on a whim when different characters login. Maybe the missing windows can be solved by creating a super session and saving the layout? If so, I'd just need to know why seemingly random Class folders disappear.
Performance:
After setting up a collection of triggers to track my stats, the game has become unplayable. I sifted through the triggers, eliminating wildcards and simplifying some of them so Cmud has less to analyze, but it's still very hazardous for me to go hunting. Cmud overall becomes unresponsive when text is flooding through my four character sessions. In the old days, I was very liberal with full line triggers that would need numerous wildcards in them and never had issues. Now, if I find a bug in one of my scripts mid-fight, I can't use the editor, and can barely use the command line, to fix it. Any ideas? I'm wondering if this is something in my installation/setup of Cmud itself? |
|
|
![](templates/Classic/images/spacer.gif) |
Organ Newbie
Joined: 23 Dec 2023 Posts: 9
|
Posted: Tue Dec 26, 2023 4:10 pm |
An example of a missing item is an alias I created yesterday.
#ALIAS CheckScore {#T+ Stats/ScoreTriggers;score;#ALARM +1 {#T- Stats/ScoreTriggers }}
I created the alias to investigate performance issues around triggers to capture my character's stats. Today, I log in and the alias is missing. |
|
|
![](templates/Classic/images/spacer.gif) |
Organ Newbie
Joined: 23 Dec 2023 Posts: 9
|
Posted: Wed Dec 27, 2023 1:55 am |
I think I've finally narrowed down some/most of the performance issues to a few prompt triggers. I'll look into those (and the #SETPROMPT command). So hopefully I just have the stability issue to understand.
|
|
|
![](templates/Classic/images/spacer.gif) |
Organ Newbie
Joined: 23 Dec 2023 Posts: 9
|
Posted: Wed Dec 27, 2023 3:37 am |
I've narrowed it down a bit further. It seems that #ADDKEY is a pretty slow performer vs. #VAR, which is opposite to some findings mentioned by alluran in this old thread: https://www.zuggsoft.com/forums/viewtopic.php?t=27332
"I mean, a friend and myself optimise our scripts down to the millisecond, finding things like #addkey faster than #var etc (though it makes little to no sense to me, i would have thought #addkey slower)"
My trigger (on prompt):
^<(%w) (%d)hp (%d)mana (%d)mv Buf:(%x) Vic:(%x) >
#ADDKEY StatMachine Name %1
#ADDKEY StatMachine HpCurrent %2
#ADDKEY StatMachine MpCurrent %3
#ADDKEY StatMachine MvCurrent %4
#ADDKEY CombatInfo StatusBuf %5
#ADDKEY CombatInfo StatusVic %6
#IF (%6="*") {#ADDKEY CombatInfo InCombat 0} {#ADDKEY CombatInfo InCombat 1}
Is there any way to optimize my #ADDKEY or optimize my database record variable 'StatMachine'? I'd like to keep this information all in one place. I'm hoping there's just a poorly or undocumented command out there (I found out about %f pattern match in my searches on SETPROMPT) that replaces ADDKEY or something along those lines. |
|
|
![](templates/Classic/images/spacer.gif) |
Organ Newbie
Joined: 23 Dec 2023 Posts: 9
|
Posted: Wed Dec 27, 2023 5:37 pm |
The stability issue is painful. Is there some sort of integrity check that happens when a session/package loads?
I was fixing my status bar to use standard variables like @HpCurrent instead of the DB variable I was saving that info to. For an unknown reason, Cmud crashed while I was AFK for a few minutes. Upon reloading, the status bar was deleted and my gauges, which I hadn't gotten to refactor, yet, were also missing in addition to an entire "AutoLoot" class.
Are database variables just bad news? I don't ever remember having issues like this way back, and I used them a lot. |
|
|
![](templates/Classic/images/spacer.gif) |
shalimar GURU
![](images/avatars/114658559147aeed8fee539.gif)
Joined: 04 Aug 2002 Posts: 4685 Location: Pensacola, FL, USA
|
Posted: Mon Jan 15, 2024 1:20 pm |
DB variables are great, however, there is an issue with using DB variables in the headings of buttons and gauges where the updated value doesn't always update in the display.
Think of them as more a storage medium for large datasets rather then an on the fly reference tool. |
|
_________________ Discord: Shalimarwildcat |
|
|
![](templates/Classic/images/spacer.gif) |
|
|