Off topic, but I think a cool feature would be a tag in the item which contains player specified data. This is just a 32 bit field which only the client sets and the client uses. It gets cleared when an item is dropped or otherwise leaves the players inventory (unless in a container). Things this would get used for: 1) Item locking - this is really in the client control. dropall could be made client, and the client then examines the currently activated list and sends a drop for all objects in that list. 2) Custom lists. You could have 4 (or however) many inventory tabs, and you could control what tabs the items are in. Thus, you could have a tab for things you wear a lot, so you want them handy, etc. 3) custom naming of items. Client could track numbers, and lets player name an item for their convenience (so if you know that wand is fireballs, you could call it that). Client would do this by recording the name in a file (and what number goes with it) and updating its global count so that the next one gets the next in the sequence. Even if just 16 bits is used for this, that provides 65535 names, which unless the player has a lot of different characters, I would think this should be more than enough. The main reason to put this on the server (object) is so that it gets saved with the character so that it is much more fullproof. And it should be quite easy to add something like 'C->S: updateitemflag <tag><flags><tag2><flags2>...' And the flag gets sent with the object (requiring a minor update on that). The nice thing about this is that the client can do anything with the flags it wants. A simple implementation could just give each object a unique id and then know what flags/name to associate with it.