ID:2792508
 
Problem description:

In short, the problem I have artificially introduced is from the program's lack of calls to the end user. In mid 2021, I began re-working a text based MUD and noticed it had a number of infinite loops that were eating up a large deal of hosting resources, but otherwise were unnecessary in this type of game.

I have since removed all loops that call on the player, in doing this it has resulted in connection time outs among players on wi-fi connection, or other manners of unstable networks when they become inactive for between two and ten minutes.

I expect that this can be resolved by simply introducing a loop that runs in the background artificially calling on user data in a short interval (something like every 100 ticks).

What is the most efficient way to handle this?

Edit (2022-05-30): I have since resolved the issue and it seems to be unrelated to user connection but a potential issue with Dream Daemon. Below is the section of code that resolved the issue:

mob/var
lag=1

proc//Introduced to produce system response from players to prevent disconnects caused by idling.
Lag()
AGAIN
spawn(30)
for(var/mob/M in world)
M.UpdateBars()//Updates two output bars for available stat points on the skin, in addition to some percentage bars.
if(M.lag < 1)
M.lag++
if(M.lag >= 1)
M.lag--
goto AGAIN


This issue has caused more confusion than anticipated, and was only resolved after noting that while idle if chat outputs were active the number of disconnects decreased. Furthermore a player began experiencing this issue on direct link fiber optic, leading me to believe it was not a user end issue.

This post is fine to be closed, but should it be moved to bug reports?