I worked around this issue by implementing a queue system which sends a max of X bytes in each user message per server frame, along with client functionality to collect all the tiny messages and reassemble the original larger message.
There also seems to be 3 bytes of overhead at the beginning of bf_read data buffer. So seemingly the max size available to the user is 252, not 255? Those 3 bytes are unreferenced in the SDK as far as I can tell, and seem to be internal to the closed-source size of things. I chose "200" for X to be safe since the 255 limit is seemingly undocumented, and the scary extra bytes at the beginning might possibly change at any time. It'd be nice if someone (Valve?) would confirm what the max value really is, and/or what constant to use for the max size. At 2007/03/03 11:54 PM, you wrote: >Well in this particular case I am sending an arbitrarily-sized list of RPG >character related data to the user. Any fixed limit would be undesirable. A >larger limit (4K) would be acceptable, since, in practice the maximum amount >of data is probably about 1K. > >As I understand it, the string tables are sent to all clients. I don't want >to spam every client with this data, since it's only useful to the client that >it's directed at. > >At 2007/03/03 11:31 PM, LDuke wrote: >>-- >>[ Picked text/plain from multipart/alternative ] >>What kind of user message is this? >> >>The MOTD messages are limited to 255 bytes for TYPE_TEXT. To use more than >>that, you have to add the text to be displayed to the string tables and use >>TYPE_INDEX (this method has a limit of around 4kb). >> >>On 3/3/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> >>wrote: >>> >>> Whenever an attempt is made to send anything but the very smallest of user >>> messages, the following error occurs: >>> >>> DLL_MessageEnd: Refusing to send user message %s of %d bytes to client, >>> user message size limit is 255 bytes >>> >>> It doesn't have anything to do with the usermessages->Register specified >>> limit. It also seems completely unrelated to the value the >>> bf_write::GetNumBytesLeft reports, which is typically in the 2600 range or >>> so. So the question is, where is this number coming from, and can it be >>> increased? >>> >>> _______________________________________________ >>> To unsubscribe, edit your list preferences, or view the list archives, >>> please visit: >>> http://list.valvesoftware.com/mailman/listinfo/hlcoders >>> >>> >>-- >> >>_______________________________________________ >>To unsubscribe, edit your list preferences, or view the list archives, please >>visit: >>http://list.valvesoftware.com/mailman/listinfo/hlcoders > >_______________________________________________ >To unsubscribe, edit your list preferences, or view the list archives, please >visit: >http://list.valvesoftware.com/mailman/listinfo/hlcoders _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

