Characters could get a buff that lasts equal to the amount of time idle in town for some sort of "rested exp" like in warcraft? While i dont suggest superficially the buff to be an exp multiplayer, i dont think that would be bad
The idea is to have time spent there offline or not, to not be a total waste at least, making it have a niche use that people might want to aim for once in a while would be better so its not a "useless feauture" that's just there as a "sorry for your(our) oopsie xD have a candy", but yeah a candy is good too if this is asking for too much
So what about: all towns give a buff , every minute spent there -> 30 seconds buff ( ×1 if online or ×offline gains if offline )
• act 1 town : gives a buff for magicfind ( ×1.5)
• act 2 town : gives a buff for exp and gold (x2)
• act 3 town : gives a buff for woodcutting and mining multiloot ( ×1.5 )