I used to dev for another mud when gmcp was still in it's infancy and we developed a system for partial gmcp updates instead of full ones being sent all the time. The way it worked is it would initially send the full gmcp update on connect, then future gmcp updates only contained values that had changed since the mud last sent you a packet update. Most modern clients with gmcp implementations store the last received info so they would simply update the new info as it's received and still always have a complete dataset. The benefits of this are fairly obvious as it would stop sending things like group members mv and mana if they had not changed since the last sent update. It would save a lot of overhead bandwidth in general and be especially handy reducing bandwidth usage for mobile users.
partial GMCP updates
Sunday, January 7, 2018 @ 16:14