Commit Graph

  • 2bcf2f26a4 I just saw someone have 2100 outgoing messages queued up for them in 415 milliseconds. I want to know what in the fuck those were. Michael Bayne 2003-10-26 05:18:13 +00:00
  • b696989375 Removed erronious space. Michael Bayne 2003-10-26 02:45:19 +00:00
  • fc2cb730b8 Lets not store the whole marshaller and just the class name. Combine log message. Eric Lundberg 2003-10-26 02:44:01 +00:00
  • bcd034d0be Hmm I think this does the right thing tracking the lask 10K invocation services that registered (ignoring unregisters) but I can't get it to cough up the problem on my machine, so it's a little hard to test. If you fine cvs readers want to take a peek that would be great. Hurray for debug code. Eric Lundberg 2003-10-26 02:33:43 +00:00
  • ed5a97243e As it turns out to be nearly impossible to avoid occasionally trying to post events to an object that is already destroyed, we'll allow transactions to be started on non-active objects and we'll just log a warning when the transaction is finally committed like we do for all other events on non-active objects. Michael Bayne 2003-10-25 22:08:02 +00:00
  • 0fc8813314 Let's not freak out if our caller disappears while we're off resolving a scene. Michael Bayne 2003-10-25 00:10:35 +00:00
  • 5272911863 Don't really need the stack trace. Michael Bayne 2003-10-25 00:04:00 +00:00
  • 414152443b We don't need to see the message. Michael Bayne 2003-10-25 00:01:04 +00:00
  • fcca6c3ce8 Take advantage of HashIntMap.Entry. Ray Greenwell 2003-10-24 22:15:23 +00:00
  • eca5077375 Do the post-download portion of a bundle immediately after each bundle instead of waiting for them all to complete. Ray Greenwell 2003-10-23 20:31:28 +00:00
  • e8056bca17 Throw a useful exception if the parameters are invalid. Michael Bayne 2003-10-22 20:26:32 +00:00
  • 3fadb2b1ea Fucking JarFile throws a SecurityException if there's a signing error which is *not* an IOException. Thanks guys. Michael Bayne 2003-10-22 18:50:27 +00:00
  • 969008a6b8 Added a method for playing sounds after a specified delay. Ray Greenwell 2003-10-16 01:01:51 +00:00
  • a02d076d8e Tone down the max path length, when searching for a path in unresolved space, it ends up considering up to 10,000 nodes with a max path length of 50 which causes the client to hang for like 5 seconds. Not so good. With a max path length of 20, that comes down to about 1,300 nodes which ends up being non-linearly faster. Michael Bayne 2003-10-15 23:20:40 +00:00
  • ba52e3cfa4 If we fail to deliver the objectAvailable() notification because the client is disconnected, unsubscribe immediately. We normally unsubscribe when the client loses its connection but it's possible for a subscription request to come in and the client to lose connection before we can communicate the object available response. Michael Bayne 2003-10-10 23:23:41 +00:00
  • 2afc52d18d Don't freak out if we're missing our scene. Michael Bayne 2003-10-10 19:18:18 +00:00
  • 6b2c9cde14 Report the toString() output on long runners. Michael Bayne 2003-10-08 04:10:29 +00:00
  • ff8211534f Take no guff from freaking out network event handlers. Michael Bayne 2003-10-07 22:41:24 +00:00
  • 5970b1eef9 Removed the explicit specification of the build compiler and optimization configurations. We'll specify these in the top-level ant invocation and it can filter down for the whole build. Michael Bayne 2003-10-06 21:24:30 +00:00
  • b032f51b84 Refuse moves to invalid zones, scenes or places. Michael Bayne 2003-10-03 20:41:32 +00:00
  • 567d3696a9 Added toServerTime(). Michael Bayne 2003-09-30 22:18:18 +00:00
  • 670d346c6c Clear out our subscription table in clearSubscrips() so that we don't erroneously decide that we have stale subscriptions around, and log stale subscriptions if we do end up clearing them. Michael Bayne 2003-09-29 18:28:22 +00:00
  • c597a5c833 Not to freak out if a client logs off between the time they made their pirate selection and the time we manage to load up their pirate. Michael Bayne 2003-09-25 21:07:54 +00:00
  • e6ae375c00 Not to freak out if somehow we don't have a current path. Michael Bayne 2003-09-25 21:07:20 +00:00
  • bedb859943 Demoted logging to debug. Michael Bayne 2003-09-25 15:57:38 +00:00
  • c1c3285b96 Added a toString() to our scene loading unit. Michael Bayne 2003-09-25 00:26:16 +00:00
  • 73373b8844 Propagate up an exception if we're not able to download the resource manager config (usually a transient DNS failure). Michael Bayne 2003-09-24 23:54:59 +00:00
  • 44f2a352cc Removed vestigal business. Michael Bayne 2003-09-24 21:39:42 +00:00
  • 320f53913b We only need to introspect and sort our fields array once per class, not every time we create a distributed object. Michael Bayne 2003-09-24 20:33:06 +00:00
  • 0aecdc2069 Don't create our listen socket until we've actually be started up. Michael Bayne 2003-09-24 18:37:55 +00:00
  • fe588b291b Report long running invokers if we're tracking their run duration. Michael Bayne 2003-09-24 17:10:49 +00:00
  • 0d77519001 Let's allow auto-responses to actually be turned off. Michael Bayne 2003-09-23 23:03:34 +00:00
  • b19fcb219b getClass().getField() creates a new Field instance every time and possibly creates an Object[] as well. Now we cache the Field instances and look them up ourselves which will likely be much more efficient at only a small additional memory cost. Michael Bayne 2003-09-23 17:16:46 +00:00
  • 8c219530d1 More debug log wrapping. Michael Bayne 2003-09-22 23:59:39 +00:00
  • d675a1612e Cleaning up more straining debugging. Michael Bayne 2003-09-22 23:57:20 +00:00
  • 0d890bc8c4 Let's go ahead and log this so that we can determine whether or not it actually happens. Michael Bayne 2003-09-22 23:48:58 +00:00
  • b6c3c58ca3 Commented out some debug logging that's creating storms of strings on the server and added more sanity checking to handleJoinCluster(). Michael Bayne 2003-09-22 23:42:49 +00:00
  • e15e54b7f6 Be sure to filter away messages as well, because they nastily show up as feedback, and not a user type of chat. Ray Greenwell 2003-09-22 19:15:12 +00:00
  • 5b66d1d672 Wasn't handling floating point preference values. Michael Bayne 2003-09-18 21:35:02 +00:00
  • 90816435f3 If we receive a tell and have an auto-response message configured, report what we said to the teller so that we remember that we have the auto-response active. Michael Bayne 2003-09-18 18:13:28 +00:00
  • 6add22f5d7 Refactored /tell idle auto-response; added support for configuring an away/busy auto-response message. Michael Bayne 2003-09-18 17:53:48 +00:00
  • e876090b93 Cluster chat is still a special case: make a special call to the filter method of the chat director prior to sending cluster chat. Ray Greenwell 2003-09-16 21:26:15 +00:00
  • ac52342b17 - Refactored ChatValidator into ChatFilter, which can invalidate a message by returning null instead of a filtered version. - Changed the MuteDirector to implement ChatFilter. - ChatDirector no longer needs a reference to the MuteDirector because the outgoing mute-checking is now handled by the standard filtering code. - Fixed a bug introduced by Walter back in December that caused the MuteDirector to be _removed_ as a validator the first time you try to /tell to a player that you've muted. How we never detected this, I'll stay awake at night wondering... Ray Greenwell 2003-09-15 21:11:40 +00:00
  • cd6f38ee3d More Big Brother facilities: observers can be registered to be notified every time a particular person hears another person say something. Michael Bayne 2003-09-11 16:36:39 +00:00
  • 0812c3d8a1 Made the code for updating a player's occupant info more general purpose. Michael Bayne 2003-09-11 03:20:06 +00:00
  • 48cbb2d095 Track the amount of time we spend searching for paths and report it if it's lengthy. Michael Bayne 2003-09-08 18:42:38 +00:00
  • 8b9199ed09 Make sure we don't have any dangling subscriptions if we receive a message after having closed our client connection. Michael Bayne 2003-09-07 23:30:13 +00:00
  • 199daccacc Make damned sure a body is removed from any clusters they occupied when they leave our scene. Somehow we're not properly catching cluster departures in some circumstances. Michael Bayne 2003-08-20 21:02:16 +00:00
  • 70a8c00388 If a connection is sitting in the system but is closed (perhaps possible through some well-timed disconnection early in the initialization phase), we should consider it idle because then we'll catch it on the next tick and flush it whereas otherwise it would just sit around forever until someone logged in from that IP again. Michael Bayne 2003-08-20 19:32:27 +00:00
  • 233ccbc01c Not to freak out about unmapped authing connections, connections are only mapped after they are authenticated. Michael Bayne 2003-08-20 19:30:52 +00:00
  • a5367cb657 Only complain about big overflow queues every time we reach a new plateau of 50 messages. Michael Bayne 2003-08-20 18:54:23 +00:00
  • 6b5542d915 Only read in the current version if we've got both the version file and the bundle file. Michael Bayne 2003-08-20 03:53:35 +00:00
  • 026be0505a Check for file existence. Michael Bayne 2003-08-20 03:52:36 +00:00
  • a34e6a7fd8 Only log when we unload the place, not when it becomes empty. Michael Bayne 2003-08-20 01:54:57 +00:00
  • 46f4426e64 Warn on large overflow queue size. Michael Bayne 2003-08-20 00:47:39 +00:00
  • 693ce550d7 We need to update our last modified time after downloading the resource. Michael Bayne 2003-08-18 21:50:03 +00:00
  • 442a2a5759 Added missing newline. Michael Bayne 2003-08-18 21:38:07 +00:00
  • f013aba02b Additional robustness: mark the server dobjmgr internal events as private and refuse subscriptions to invalid oids (it's not out of the realm of possibility that the clients were somehow subscribing to oid 0 and funny things were happening). Michael Bayne 2003-08-16 04:14:56 +00:00
  • 11fc21a59b Added code for refreshing the currently displayed scene. Michael Bayne 2003-08-16 03:42:28 +00:00
  • d06c0fad00 Some debug logging to try to track down the "I entered the puzzle but it never started and the server eventually gave me the boot." Michael Bayne 2003-08-16 00:28:43 +00:00
  • c78accd506 Minor edit. Michael Bayne 2003-08-15 23:58:02 +00:00
  • c0ea432776 Changed dynamic resource URL handling such that it must be set programmatically or it will be assumed to be the same as the normal resource URL. Michael Bayne 2003-08-15 23:23:05 +00:00
  • 6c1274eef3 This should never be sent over the wire, but it is somehow, sometimes, and by making these transient we can hopefully debug it more effectively if it happens in the future. Michael Bayne 2003-08-15 18:50:02 +00:00
  • 4a302495d5 Unload scene managers (and all their associated business) after they've been unoccupied for five minutes. Michael Bayne 2003-08-15 18:40:48 +00:00
  • ef17c4487e Would you believe, we still missed a fricking newline. Michael Bayne 2003-08-13 22:46:13 +00:00
  • c9f9cfe34d Fix up registered interval reporting. Michael Bayne 2003-08-13 21:38:37 +00:00
  • 72674bbf49 Report the number of intervals registered as well as the number fired in the reporting interval. Now we can see if we're leaking intervals (which would be double plus ungood). Michael Bayne 2003-08-13 21:05:28 +00:00
  • c2299fbbd7 Require that the current scene be specified in the change location request because odd things frequently happen if a player somehow double clicks or in some other way queues up a change scene then a change loc from the previous scene. Michael Bayne 2003-08-13 00:11:03 +00:00
  • 32bfc704d7 Not to freak out while we're not connected. Michael Bayne 2003-08-12 01:01:09 +00:00
  • 8ab26de8b0 Now that we're closing the jarfile after unpacking it, we can't be poking around in there for other reasons. We also avoid looking up the entry in the jar file every time it is requested. Michael Bayne 2003-08-11 20:34:21 +00:00
  • cb89eaf73d Reorganized so that we notice bundle unpack failure and report the failure to our bundle download observer. Michael Bayne 2003-08-09 05:51:12 +00:00
  • 36f738949d Made sourceIsReady() more robust and it now returns whether or not it successfully unpacked its jar file so that we can report bundle download borkage and retry in the face of potentially transient fuckolas. Michael Bayne 2003-08-09 05:42:13 +00:00
  • 927881306d Use FileUtil.resuffix(). Michael Bayne 2003-08-09 05:27:07 +00:00
  • c289da2150 They're big, they're partial and we don't need to hear about 'em! Michael Bayne 2003-08-09 05:00:01 +00:00
  • 206dd46e68 This too can now be related to the land of debug messages. Michael Bayne 2003-08-09 04:58:25 +00:00
  • ff12758dc0 That can be a debug message for surely-sure-opolis. Michael Bayne 2003-08-09 04:57:41 +00:00
  • 3d5ab0c79a The #1 most popular Narya log message gets the can. No need to hear about this 50,000 times a day. Michael Bayne 2003-08-09 04:56:35 +00:00
  • 8a9c6528de Removed old debugging message. Michael Bayne 2003-08-09 03:19:05 +00:00
  • 1d3e8247e8 Throw a particular exception when we fail to patch bundles. Michael Bayne 2003-08-09 00:31:27 +00:00
  • b9341c9430 Break out and report the patching and unpacking phases. Michael Bayne 2003-08-09 00:31:14 +00:00
  • 748db4d5d7 Failing to locate a class is apparently a RuntimeException even if you do it through Class.forName(). Michael Bayne 2003-08-08 23:55:06 +00:00
  • bd893f198e Try using .old rather than .jar.old and maybe that will fix the weird problem with not being able to rename some, but not all, of the old jar files prior to patching them. Michael Bayne 2003-08-08 23:45:39 +00:00
  • 6cf90dcddd Not so fast, we need to jigger this differently. Michael Bayne 2003-08-08 21:43:05 +00:00
  • dbd2422bd4 Added another note about the ills of System.currentTimeMillis(). Michael Bayne 2003-08-08 21:41:28 +00:00
  • 6cccd396e6 Two fixes: use the high-performance timer if it's available and make our frame tick interval 10ms on Windows because any non-multiple of 10 causes the big fat fuckola in the form of heinously accelerated clock drift. Michael Bayne 2003-08-08 21:41:10 +00:00
  • a5eaa52a8e In 1.4.2 Sun introduced an interface to the Windows high performance timer in sun.misc.Perf. If we can use that, we do. Michael Bayne 2003-08-08 21:40:22 +00:00
  • cfe7f19669 Was clearing out the wrong business. Michael Bayne 2003-08-08 21:39:29 +00:00
  • 732c0aab41 Modified clock synchronization approach slightly so that we allow 5 seconds to pass in between ping/pong latency samples. Additionally, we resync the clock every 10 minutes. Michael Bayne 2003-08-08 20:20:39 +00:00
  • 3034364579 Use a downloader that checks timestamps if we're not doing versioning. Michael Bayne 2003-08-08 17:45:00 +00:00
  • 5f38a9e44e We have to close the borked patch file before attempting to delete it. Michael Bayne 2003-08-08 03:40:46 +00:00
  • 6c3ad0b329 Also count how many times we find ourselves at the top of a non-empty queue and end things if it gets out of hand. Ray Greenwell 2003-08-08 03:23:43 +00:00
  • b59b9b5954 New very safe shutdown scheme. An Invoker.Unit runs on both the Invoker and dobj thread until they're both empty (or it has been passed 50 times) and then shuts the threads down. Ray Greenwell 2003-08-08 03:11:55 +00:00
  • 8ceaea36ed Only report that we're downloading if we actually are. Michael Bayne 2003-08-05 23:34:01 +00:00
  • 00b983ccf7 Break the patching out into a separate phase, clean up the diff and old jar files when we're done patching. Michael Bayne 2003-08-05 07:03:34 +00:00
  • d773b9d723 Properly handle errors and do the right thing if we have no version specified (which should fix versionless dynamic downloads). Michael Bayne 2003-08-05 06:54:01 +00:00
  • 636b792051 The great big resource manager revamp: the resource manager now supports the JNLP versioned resource protocol so that it can download jardiffs instead of whole new jar files when a resource bundle is updated. Unversioned http downloads (which we'll probably continue to use for the dynamically generated island bundles) are currently not working. Michael Bayne 2003-08-05 01:33:20 +00:00
  • 0e5cb7fa89 We have to support substitutions in here now. Joy. Michael Bayne 2003-07-31 22:38:25 +00:00
  • dc7591a562 This seems happy now, so we'll can the logging. Michael Bayne 2003-07-29 18:48:11 +00:00
  • 6928f9aa96 We need to handle this in the frame manager because all we can do in SystemMediaTimer is make time stop while we're in the past, whereas in the FrameManager we can just note that strangeness is afoot and keep on tickin'. Michael Bayne 2003-07-29 00:41:40 +00:00
  • 28bdcd942d Added a workaround to the time fluctuation WinXP bug. Michael Bayne 2003-07-29 00:27:32 +00:00