`
`C:\Worlds Source Code Archive\CHANGELOG
`------------------------------------------------------------------------------
`3/27/95
`
`Modify the protocol classes and location class for
`signed location coordinates.
`
`Made the port numbers for text and binary connections command line variables.
`------------------------------------------------------------------------------
`3/31/95
`
`Do not send state messages automatically.
`
`Replace assert with something that doesn't abort in some of the network layer.
`------------------------------------------------------------------------------
`4/6/95
`
`Rewrite to conform to protocol14. Added Teleport, Disappear, and Appear
`messages. Modified RoomChange message.
`
`Added checking for duplicate User name.
`------------------------------------------------------------------------------
`4/9/95
`
`Added capability for ProtocolObject to accept and forward messages to
`UserObjects other than the one for its Client.
`
`Add PropertyCommand and PropertyRequestCommand.
`
`Add WhisperCommand.
`
`Additional error checking to make sure both user and world are set before
`accepting commands besides SessionInit and AppInit.
`
`------------------------------------------------------------------------------
`4/11/95
`
`Moved main loop to main.cc
`
`Added brute force crowd control. In Room.cc, compute a list of
`users proximate to a given location by estimating the distance to
`every user in the room.
`
`Added a fix suggested by Bo to net_mbuf.cc. Modifies error checking
`in the read() function immediately following the recv() call.
`
`Tracked down several problems with the server crashing when the client
`exits improperly.
`
`Added some signal trapping in the network layer.
`
`Added a command line argument to set the number of user updates.
`
`
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`29
`30
`31
`32
`33
`34
`35
`36
`37
`38
`39
`40
`41
`42
`43
`44
`45
`46
`47
`48
`49
`50
`51
`52
`
`123456789
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 1 of 11
`
`
`
`2
`
`C:\Worlds Source Code Archive\CHANGELOG
`53
`[NOTE: This version lost on grotto?]
`54
`
`55
`------------------------------------------------------------------------------
`56
`4/19/95
`57
`
`58
`Integrated Mitra's shortObjId class.
`59
`
`60
`Changed select timeout in networking layer to 100 microsecs.
`61
`
`62
`Changed timeout on an individual connection to 3 minutes.
`63
`
`64
`Improved message logging in BinaryProtocolObject.
`65
`
`66
`Modified SessionInit and AppInit to parse unknown properties.
`67
`
`68
`Added a message logging switch to the command line.
`69
`
`70
`Sets the number of file descriptors to MAXCONNECTIONS (net_comm.cc)
`71
`
`72
`Fixed memory leak - Room not deleting location update messages.
`73
`
`74
`------------------------------------------------------------------------------
`75
`4/24/95
`76
`
`77
`Added the visibleUser table and processing to User.cc. This processing
`78
`will absolutely limit the number of updates that get sent to a
`79
`Client, and gives us a cleaner algorithm for providing the Client with
`80
`Appear and Disappear message.
`81
`
`82
`Added an "I see you" list to each User. These are used to notify
`83
`Users that are sending me updates when I leave the World (not doing
`84
`this causes the server to core dump when a client crashes). This
`85
`list is also used to allow some transitivity (if you can see me, I can see you)
`86
`by sending location updates to Users on both the "I see you"
`87
`list and the "you see me" list.
`88
`
`89
`Changed the timeout on the select in net_comm.cc to 50000 microseconds.
`90
`
`91
`Ordinary Users set to 30, priority Users set to 10, connection timeout
`92
`set to 5 minutes.
`93
`
`94
`Temporarily removed text port functionality to prevent crashes due
`95
`to Satan executions over the network.
`96
`
`97
`------------------------------------------------------------------------------
`98
`4/28/95
`99
`
`100
`Implemented a modified crowd control algorithm that is room-based.
`101
`Briefly, all users send their location updates to the room which stores
`102
`them in a list. At periodic intervals (run off the same timer as for
`103
`client updates) the room compiles a proximateUser list for each user
`104
`and sends them out to the users. Each user updates their visibleUser
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 2 of 11
`
`
`
`3
`
`C:\Worlds Source Code Archive\CHANGELOG
`105
`table utilizing the new list. This approach limits the sending of
`106
`appear/disappear to the client in the same way that location updates
`107
`are limited.
`108
`
`109
`Added login limits as a command line argument.
`110
`
`111
`------------------------------------------------------------------------------
`112
`8/28/95
`113
`
`114
`Modified constants in net_mbuf.h to set MBUF_BLKSIZ to (1024 - 32)
`115
`and MBUF_MAX_TFR to 1024. These values were suggested by Bo.
`116
`
`117
`Trying to track down crash bug - during abort sequence a segmentation
`118
`violation occurs during the propagation of the aborting users teleport
`119
`message to its proximate users. Removed a few error messages being printed
`120
`so that the server can be run with its output redirected to a file.
`121
`Initialized the exiting teleport message's new room to an empty string.
`122
`On receipt of a teleport message from another user, checked for both
`123
`entryType == 0 and newRoom != this room, as the condition under which
`124
`to remove the sending user from our proximate list
`125
`
`126
`Fixed crash bug on receipt of SIGINT by moving the signal handler for
`127
`this into main.cc where it now waits until the end of a cycle to terminate.
`128
`
`129
`Clean up and optimize.
`130
` - Simplify ProtocolObject by removing the text protocol. This functionality
`131
` should be provided by a translation process outside the server.
`132
` - Removed ControlObject and TextControl. When groups are implemented, it
`133
` should be done using an approach similar to that used for video and
`134
` audio conferencing.
`135
` - Changed the name "Attribute" to "Property" to conform to the protocol
`136
` documentation.
`137
` - Replaced pervasive use of Strings as object identifiers with a numerical
`138
` Identifier class which consists of a server number and numerical object
`139
` identifier. In this implementation, the server number is always 0 and
`140
` the object identifier is the pointer to the object. This construct
`141
` supports future extensions to multiple servers, while reducing the overhead
`142
` involved with String processing. This modification required extensive
`143
` changes to Message, ObjectList, Room, User, ProtocolObject, and ObjId
`144
` classes.
`145
` - Remove loop through all 256 entries of the ObjId table in each call
`146
` to sendMessage(ObjIdArray), instead only loop through active entries.
`147
` - Change update frequency to once per second.
`148
` - Give rooms a two byte numeric identifier by which they are referred to
`149
` in all commands. Rooms are stored in an array rather than a linked list.
`150
` Also changed the exit and entry type of the teleport command to a single
`151
` byte each. Required changes to World, Message, and ProtocolObject classes.
`152
` - Combine command for appear, disappear and teleport commands.
`153
` - Improved efficiency of getProximateUsers and doUpdate functions in Room.cc.
`154
`
`155
`Added statistic logging throughout. Every hour log the number of Users
`156
`in each Room. Create a log entry for every User that logs in giving
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 3 of 11
`
`
`
`4
`
`C:\Worlds Source Code Archive\CHANGELOG
`157
`login time, avatar, number of text messages sent, logout time.
`158
`Every week this log file is closed and a new file is opened.
`159
`
`160
`Check SessionInit properties for protocol = 16 and client software version
`161
`greater than 95071120 - send NAK for old client or old protocol
`162
`(ProtocolObject.cc).
`163
`
`164
`Moved call to setsockopts() in net_comm.cc to occur *before* the bind().
`165
`This solves the problem whereby the port can't be reused immediately
`166
`after the server is killed.
`167
`
`168
`------------------------------------------------------------------------------
`169
`10/5/95
`170
`
`171
`Fixed error in ObjId.cc in the function shortLocOK() which was checking
`172
`the X coordinate twice and not checking the Y coordinate.
`173
`
`174
`Fixed error in getProximateUsers where the variable "largest" was not being
`175
`initialized when searching for the new largest distance member in the table.
`176
`
`177
`Fixed error in ObjId.cc where an exiting teleport for a given shortObjId
`178
`could be overwritten by an entering teleport for a given shortObjId.
`179
`
`180
`------------------------------------------------------------------------------
`181
`10/18/95
`182
`
`183
`Replaced brute-force search for nearest neighbors with a cell-based
`184
`algorithm (Room.cc).
`185
`
`186
`Added a length variable to ObjectList and keep a running total of the
`187
`length of the list (rather than traversing the whole list to find the
`188
`length each time it is needed).
`189
`
`190
`Modified the doUpdate function in Room.cc to create lists by making
`191
`calls directly to the user objects rather than creating them internally
`192
`and then sending the entire list to the user object. This should reduce
`193
`the amount of list processing that is done (the biggest cycle hog now).
`194
`
`195
`Implement a configuration file. The server now creates only one world
`196
`which is specified in the config file.
`197
`
`198
`Rooms are created on the fly as they are referenced by clients and deleted
`199
`when they are empty.
`200
`
`201
`Implemented two kinds of updates: a full visibility update where the
`202
`visibleUser table is updated, and a location only update for users already
`203
`in the visibleUser table.
`204
`
`205
`Made Location updates received from the client be passed directly via a
`206
`call to the User object, rather than being passed as a message. The
`207
`text, teleport, prop, and roomchange objects could be done the same way
`208
`(anything for which only the client will be changing its own state, and
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 4 of 11
`
`
`
`5
`
`C:\Worlds Source Code Archive\CHANGELOG
`209
`won't be changing the state of other objects).
`210
`
`211
`Parallelized room updates (both visibility and location). This is #ifdef'ed
`212
`out in this release until the networking layer can be made thread safe to
`213
`improve performance.
`214
`
`215
`Added a lot of code to gather timing information. This is also #ifdef'd out.
`216
`------------------------------------------------------------------------------
`217
`10/23/95
`218
`
`219
`Modified ProtocolObject.cc to detect size errors in LONGLOCCMD, TELEPORTCMD,
`220
`and ROOMCHNGCMD and log the message in which the error was detected.
`221
`Modified ProtocolObject.cc to log messages in which an error is detected.
`222
`Server seems to be getting a lot of confusing messages.
`223
`
`224
`Modified Room.cc so that it doesn't delete itself when empty (patch to
`225
`try to solve crash bug - deleting empty rooms should work).
`226
`
`227
`Modified User so that when a teleport is received, the validity of the new
`228
`Room is checked before exiting the current Room. This also shouldn't
`229
`really be necessary - all new rooms should be valid since they are
`230
`created if they don't exist.
`231
`
`232
`Modified User so that proximateList is cleared after notifying other Users
`233
`that a teleport out of the Room has been done. I think this is the change
`234
`that fixed the crash bug!
`235
`------------------------------------------------------------------------------
`236
`12/13/95
`237
`
`238
`Removed old networking layer, modified World.cc to handle the select, and
`239
`ProtocolObject.cc to do the send and recv.
`240
`
`241
`Added some more multithreading, and some more timing statistics (these
`242
`are ifdef'd).
`243
`
`244
`Modified main.cc to catch SIGINT and abort cleanly.
`245
`
`246
`Modify makefiles and combine subdirectories into one source directory.
`247
`
`248
`Remove use of String class and switch to SGI compiler.
`249
`
`250
`Replace use of Baselist in World class (for connection list, user list, and
`251
`room list) with hash tables. This should speed up whispers (where the user
`252
`being whispered to must be found in the World) and room changes/teleports
`253
`(where the room the user is changing to must be found in the world).
`254
`
`255
`Change name "ProtocolObject" to "Protocol".
`256
`Add checkName() function to Protocol to check for legality of user name.
`257
`
`258
`------------------------------------------------------------------------------
`259
`Begin Gamma development
`260
`------------------------------------------------------------------------------
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 5 of 11
`
`
`
`6
`
`C:\Worlds Source Code Archive\CHANGELOG
`261
`
`262
`The following changes were put online for WC 1/17/96:
`263
`
`264
`Added RoomIdRequestCommand and RoomIdCommand for the Gamma client.
`265
`
`266
`Added 'room' command to the configuration file. The room server will no
`267
`longer create rooms on the fly as a client references them. In the future,
`268
`the room server will create new rooms when instructed to by the world server.
`269
`
`270
`Added SubscribeRoomCommand, UnsubscribeRoomCommand, and
`271
`SubscribeDistanceCommand for the Gamma client. This involved changes in
`272
`World, Room, User, Protocol, Message.
`273
`
`274
`Test for "terminate" before processing input in World.cc (doInput).
`275
`
`276
`If output buffer is full, set terminate flag and kill connection.
`277
`
`278
`Clean up some error message logging.
`279
`
`280
`Modify sendMessage(PropertyMsg) in Protocol.cc so that multiple Property
`281
`commands will be sent in the case where all the information won't fit in one
`282
`command.
`283
`
`284
`Add badPacket counter. Allow 5 bad backets (where size is < 2), then
`285
`terminate connection.
`286
`------------------------------------------------------------------------------
`287
`
`288
`The following changes were put online for WC 2/1/96:
`289
`
`290
`Modify World.cc so that it calls all Users to clear their proximateLists,
`291
`then call all Rooms to do updates, then calls all Users again to do table
`292
`updates. This was necessary because some Users are not in a room, but are
`293
`subscribed.
`294
`
`295
`Have User send a room change command when an avatar has changed rooms, but
`296
`can still be seen due to a subscription.
`297
`
`298
`Add VAR_AVATARS to the SessionInit command, and instantiate each User with
`299
`a variable number of avatar updates.
`300
`
`301
`Merge in all changes made to support port to SCO and RS6000.
`302
`
`303
`Fix bug in ACK for SessionInit to put 'ends' at end if value string
`304
`for property.
`305
`
`306
`Make server ignore world name in the AppInit command.
`307
`
`308
`Add config file switch to allow server to dynamically allocate rooms as
`309
`they are referenced. Rooms are deleted when they are empty (no users in the
`310
`room and no subscribers). If dynamic allocation is not set, the default
`311
`is to disallow it.
`312
`
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 6 of 11
`
`
`
`7
`
`C:\Worlds Source Code Archive\CHANGELOG
`313
`Fixed bug in scanCells() in Room.cc which occurs when it is called for the
`314
`portal locations of subscribers. Since the scan was originally done on the
`315
`locations of the users in the room, the portal location may be outside this
`316
`scan area.
`317
`
`318
`Change room deletion so that it happens when a room is not referenced by any
`319
`client. When a client sends a room id request, the room's reference counter
`320
`is incremented. Each user keeps a list of the rooms they have referenced
`321
`this way. When a user logs off, the list of rooms is traversed and each
`322
`room's reference counter is decremented. Rooms delete themselves when they
`323
`were dynamically allocated, have no references, no subscribers, and no
`324
`users in the room.
`325
`
`326
`------------------------------------------------------------------------------
`327
`
`328
`The following changes were put online for WC 2/1/96 - v8.06:
`329
`
`330
`Modified processCommand() in Protocol.cc to do a little more error checking
`331
`(on the sizes of commands) and to return a value indicating whether an error
`332
`was seen or not. When a given error tolerance is reached, the connection is
`333
`terminated.
`334
`
`335
`Modified the distance calculation so it doesn't use floats. Changed all
`336
`distances to ints.
`337
`
`338
`------------------------------------------------------------------------------
`339
`
`340
`The following changes were put online for WC 2/6/96 - v8.07:
`341
`
`342
`Modify logging in Protocol.cc to print the entire receive buffer plus
`343
`some other variables when a packet error condition occurs.
`344
`
`345
`Add whisper to the world name. This is interpreted as
`346
`a broadcast text message and is sent to all users in the world as
`347
`a text message. Only priority users are allowed to generate these
`348
`broadcast text messages.
`349
`
`350
`Put the priority access code in the config file.
`351
`
`352
`------------------------------------------------------------------------------
`353
`
`354
`The following changes were put online for WC 2/8/96 - v8.08:
`355
`
`356
`Undeliverable whispers are modified to indicate that are undeliverable and
`357
`are returned to the sender.
`358
`
`359
`The names 'world' and 'room' (case insensitive) are reserved and may not
`360
`be chosen as user names. Also, the name of the world (case insensitive)
`361
`is reserved.
`362
`
`363
`Sending a whisper to 'room' (case insensitive) causes a broadcast text
`364
`message to everyone in the room.
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 7 of 11
`
`
`
`8
`
`C:\Worlds Source Code Archive\CHANGELOG
`365
`
`366
`Sending a whisper to 'world' (case insensitive), as well as to the world
`367
`name, causes a broadcast text message to everyone in the world.
`368
`
`369
`Print out 'len', the number of bytes received in the recv() for a bad packet.
`370
`
`371
`------------------------------------------------------------------------------
`372
`
`373
`The following changes were put online for WC 2/17/96 - v8.09:
`374
`
`375
`Fix memory leak introduced when returning NAK for undeliverable whispers.
`376
`
`377
`Clean up comments & code in World.cc & main.cc.
`378
`
`379
`------------------------------------------------------------------------------
`380
`
`381
`The following changes were put online for WC x/xx/96 - v8.10:
`382
`
`383
`Added a switch in the config file to turn off valid user name checking
`384
`in order to support Japanese names in unicode.
`385
`
`386
`Modify Timer.cc to support a base class and two derived classes, one for
`387
`second-resolution timing, and one for micro-second resolution timing.
`388
`
`389
`Make changes to accomodate port to Win32. In addition to the changes in
`390
`Timer.cc, the port required modifications to Protocol, Room, User, World,
`391
`main, and the makefile.
`392
`
`393
`Combine functions and global variables in main.cc, and the World class
`394
`into a new class called Server. Add methods to access previously global
`395
`variables, add a method to configure server, add a mainLoop method.
`396
`The function main() is now in RoomServer.cc.
`397
`
`398
`Removed Identifier class. This class is no longer needed given the new
`399
`approach to server distribution. All references to Identifiers have been
`400
`converted into Base*.
`401
`
`402
`Added program to generate serial numbers - SerialGen.
`403
`
`404
`Break Server class into a base class and two derived classes - one for the
`405
`RoomServer (RServer) and one for the user server (UServer).
`406
`Create USMain.cc and RSMain.cc as main drivers for user server and
`407
`room server.
`408
`
`409
`Break Protocol class into base class and derived classes. Each derived
`410
`protocol class will handle command translation to/from a different
`411
`class of objects that can have connections (user connection to room server,
`412
`user connection to user server, room server connection to user server).
`413
`Base functionality for dealing with a connection (buffers, etc.) will be
`414
`in the base class.
`415
`
`416
`Create all infrastructure for the user server, including: USRoom, USRoomServer,
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 8 of 11
`
`
`
`9
`
`C:\Worlds Source Code Archive\CHANGELOG
`417
`USUser, USActiveUser, and associated protocol classes USRoomServerProtocol and
`418
`USUserProtocol. Renamed some room server specific files to begin with RS.
`419
`
`420
`Add addNodeSorted() to ObjectList in order to create proximateLists in sorted
`421
`order using an insertion sort. Didn't seem to help much - commented out.
`422
`
`423
`Add derived classes to implement bots: BSUser, BSUserProtocol, BServer, BSmain.
`424
`
`425
`Add switch in room server config to identify user server. Room server logs
`426
`into user server and specifies the list of rooms it is serving. At this
`427
`point dynamic room allocation and use of a user server are incompatible and
`428
`not allowed (this will be relaxed in the future). If a user server is
`429
`available, the room server forwards room requests for unknown rooms. Added
`430
`ROOMADD, USERROOMREQ, USERROOM, USERROOMIDREQ, USERROOMID commands to the
`431
`room server - user server protocol.
`432
`
`433
`Added REDIRECTCMD to room server - client protocol. Added REDIRECTCMD to bots.
`434
`Also added REDIRECTID command to room server - user server to handle roomID
`435
`requests from Gamma clients.
`436
`
`437
`Modified RSUser.cc handling of teleports and room changes. When a user
`438
`leaves a room via a roomchange and the new room is unknown to the room
`439
`server (either a request has been forwarded to a user server, or an error
`440
`has occurred and the room can't be created) the user enters a state where
`441
`he is not in a room and tells everyone on the proximateList.
`442
`
`443
`Split the proximateList into two lists - one for proximate users in the same
`444
`room you are in (this list is always reflexive), and one for proximate users
`445
`from rooms you are subscribed to. These are combined for sorting and updating
`446
`the visible user table.
`447
`
`448
`Modified user server to put users in the active table the first time
`449
`they connect (without authentication for the time being). Added a
`450
`UserConnect, UserConnectReply, and UserDisconnect to the
`451
`room server - user server protocol.
`452
`
`453
`Modified RSUser.cc so that it will reallocate the visibleUsers table when
`454
`a new number of avatars to update is given in the SessionInit command.
`455
`
`456
`Modified room server to pass undeliverable whispers up to the user server
`457
`(if the room server is configured with one). The user server will look
`458
`up the destination user. If the user is active, the user server will
`459
`forward the whisper to one of the room servers to which the destination
`460
`user is connected. If the user is inactive, the user server will return
`461
`the whisper with a "USER NOT ONLINE" message. If the user is active but
`462
`between room servers, the user server will return the whisper with a
`463
`"USER UNREACHABLE" message. If a room server receives a whisper from the
`464
`user server that is undeliverable (the user may have disconnected in the
`465
`meantime), the whisper is discarded. Added UserWhisper command to the
`466
`user server - room server protocol.
`467
`
`468
`Modify SerialGen to output list of serial numbers in the form of an SQL
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 9 of 11
`
`
`
`10
`
`C:\Worlds Source Code Archive\CHANGELOG
`469
`script that can be used with the interpreter to add them to the serial
`470
`number database.
`471
`
`472
`Modified UServer to connect to SQL database.
`473
`
`474
`Modified USUser to use serial number and user databases.
`475
`
`476
`Due to problems with CQL (the SQL database system we purchased) implemented
`477
`all database functionality using gdbm. The SQL stuff is still in there too -
`478
`the type of database is selected by a compile-time switch.
`479
`
`480
`Wrote insertSerialDB - a program to insert serial numbers into the
`481
`database (either SQL or gdbm).
`482
`
`483
`Changed VAR_AUTHENTICATE to VAR_LOGONOFF. Modified room server and user server
`484
`so that if a SessionExit command contains VAR_LOGONOFF, the user server is
`485
`notified to remove the user from the active table immediately (instead of
`486
`waiting 30 seconds).
`487
`
`488
`Implemented 'guest' accounts in the user server.
`489
`
`490
`Send back VAR_USERNAME in the SessionInit ACK when the user name has been
`491
`changed (as for guest logins and priority users). Send back VAR_DURATION
`492
`for guest users.
`493
`
`494
`Modified the room server to send back VAR_UPDATETIME in every SessionInit ACK.
`495
`
`496
`Modified USRoomServer to keep a hash table of active users connected to it.
`497
`When a room server goes down, all the USActiveUsers are notified.
`498
`
`499
`Modify USActiveUser to update the database when a user becomes inactive
`500
`(logs off).
`501
`
`502
`Implemented unloadUserDB - a program to dump the user database.
`503
`
`504
`Implemented broadcast text via the user server using the UserWhisper command
`505
`to forward a broadcast.
`506
`
`507
`Modify Server class and main functions to allow for a cleaner abort procedure
`508
`for shutting down the servers.
`509
`
`510
`Modify USRoomServer to retry on UserWhisper forwarding. Modified
`511
`RSUserServer to return undeliverable UserWhispers to user server instead
`512
`of just dropping them.
`513
`
`514
`Modify bot server to accept a table of avatar bitmaps in its config file
`515
`and randomly select an avatar bitmap for each bot. Also, modify bots
`516
`to use only valid rooms when they choose a room randomly to teleport or
`517
`room change to.
`518
`
`519
`Increase communications buffer size to 8K for both incoming and outgoing
`520
`messages.
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 10 of 11
`
`
`
`11
`
`C:\Worlds Source Code Archive\CHANGELOG
`521
`
`522
`Replace ObjectList::sort with ObjectList::keepClosest. It keeps the
`523
`closest N avatars by doing one pass through the list.
`524
`
`525
`****
`526
`KNOWN BUG - segmentation error generated when a gamma client is subscribed,
`527
`and one of the avatars he sees leaves the world, and the next cycle is an
`528
`location-only update. Either we need to get rid of location-only updates,
`529
`or somehow a subscriber needs to be told when users leave the world.
`530
`****
`531
`
`532
`------------------------------------------------------------------------------
`533
`
`IPR2015-01264, -01268, -01269, -01319, -01321, -01325
`EX. 2036
`Page 11 of 11