Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
Organ
Newbie


Joined: 23 Dec 2023
Posts: 9

PostPosted: 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?
Reply with quote
Organ
Newbie


Joined: 23 Dec 2023
Posts: 9

PostPosted: 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.
Reply with quote
Organ
Newbie


Joined: 23 Dec 2023
Posts: 9

PostPosted: 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.
Reply with quote
Organ
Newbie


Joined: 23 Dec 2023
Posts: 9

PostPosted: 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.
Reply with quote
Organ
Newbie


Joined: 23 Dec 2023
Posts: 9

PostPosted: 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.
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4692
Location: Pensacola, FL, USA

PostPosted: 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
Reply with quote
sosofa
Newbie


Joined: 09 Nov 2024
Posts: 2
Location: Phoenix

PostPosted: Fri Nov 29, 2024 3:37 pm   
 
To resolve stability issues, create a super session to unify character setups and ensure consistent layouts by saving them under Layout > Save Session Layout. Disappearing class folders might indicate a corrupted package; repair this by re-importing the affected .pkg file via Settings > File > Import Package and regularly exporting backups. For disappearing windows, reset your layout under Options > Layout and reconfigure.

For performance, simplify your triggers by reducing wildcard usage and using regex where possible. Ensure triggers are scoped to specific sessions or windows to minimize processing. Disabling triggers while debugging can also improve responsiveness.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net