Commit Graph

  • dec9e7ee70 Execute clearClientInfo() in a transaction on NodeObject so that when derived classes naturally remove extra crap from the NodeObject as a result of the client departing this node, it all goes out in a single event. Cross-server traffic-- go! Michael Bayne 2009-03-11 19:27:33 +00:00
  • 4a7cb2c82f Rethink! Instead of hacking up the peer ClientInfo system for the one thing that actually needs to look clients up by visible name (chat forwarding), we'll just leave things as is (as in mapped by auth username) and take care of our own shit in ClientPeerManager. Michael Bayne 2009-03-11 17:47:35 +00:00
  • 8f05b41c6a Add getSessionsForAddress to return all the active sessions for a given IP address. Charlie Groves 2009-03-06 21:29:01 +00:00
  • d67bcc5e01 Track more accurately whether or not we're switching servers and publish that in the ClientEvent that is sent out with all will/didLogon and will/didLogoff notifications. Michael Bayne 2009-03-05 23:56:02 +00:00
  • 5bd1ef9d8c Use new isTainted and untaint methods. Michael Bayne 2009-03-05 01:22:49 +00:00
  • aa0bb22527 Added keys() and values() to Array-ificate Object/Dictionary properties. Ray Greenwell 2009-03-05 01:03:06 +00:00
  • 7cd3f69ff6 Speeling Dave Hoover 2009-03-04 21:33:49 +00:00
  • 1566d00c75 These should all be immutable. Hopefully nothing was setting the values. If so, maybe we'll see compile-time errors/warnings. Maybe. Ray Greenwell 2009-03-03 22:30:15 +00:00
  • 07a42c7364 Added a note. It's not a complete adobe fuck-up, as it works in test cases I've made, it just doesn't work in *other instances*, which I haven't yet been able to control for. Ray Greenwell 2009-03-03 22:26:18 +00:00
  • d4f1e7763c Send our auth request directly instead of running it through the queue. Also log our boot groups to make it easier to distinguish which "server" we're logging onto. Michael Bayne 2009-02-27 03:13:08 +00:00
  • 1b585febf9 Tighten this up a bit. Ray Greenwell 2009-02-26 00:42:26 +00:00
  • 64b6df7dfa It's another "Jesus, really Adobe?" commit message! Apparently they enhanced AMF3 encoding in flash 10. Dictionaries seem to be encoded differently. I'm sure they thought that they could sneak this in because it's backwards-compatible, but they thought wrong. If a Flash 10 client encodes a Dictionary, it can't be read by a flash 9 client because it's not forwards-compatible. Ray Greenwell 2009-02-26 00:24:23 +00:00
  • ad09bec805 Allow whether we're persisting to be queried. Ray Greenwell 2009-02-25 04:39:56 +00:00
  • 63181c6fc1 Allow to be constructed in, and flipped between, storing preferences or just providing a runtime place for them to live. Ray Greenwell 2009-02-25 04:33:55 +00:00
  • 028b53df68 If a message is too big to be sent as a datagram, fall back to sending it on the stream. However, also increase the maximum datagram size. Andrzej Kapolka 2009-02-24 22:58:22 +00:00
  • 849aeed79c Me wrap you long line. Ray Greenwell 2009-02-24 02:25:02 +00:00
  • b6c130c91b We don't yet throw an exception here in AdminProvider (yet), but I want to downstream in yohoho's overriden version of this, so announce we're capable of it here. Dave Hoover 2009-02-23 21:59:32 +00:00
  • 41003c6059 Widen/remove unused variable Dave Hoover 2009-02-23 21:53:18 +00:00
  • fe357a5099 Give bureau sessions their own classes, and use it react immediately to disconnects. When a Thane instance dies, we want the game to shut down immediately. There's no going back from that. Par Winzell 2009-02-20 21:41:56 +00:00
  • ba7a7af8d3 Sanity++. In theory this is functionally equivalent. Michael Bayne 2009-02-19 21:08:07 +00:00
  • 0650c074b3 Actually clearSession() can be called from any thread. Michael Bayne 2009-02-18 23:08:13 +00:00
  • e01c8b0635 Separate the reporting of session end to observers from clearing out our internal bits. Only report that a session ended if we reported that it started, but always clear out our bits when a session is shutting down. Michael Bayne 2009-02-18 23:06:32 +00:00
  • 302665c65a Added loadClasses(), for convenience of the common pattern of loading stuff into an ApplicationDomain. Ray Greenwell 2009-02-18 19:38:55 +00:00
  • 6839b98d4d Oh the bugs we find when we reinstate preconditions that were foolishly removed by yours truly. Michael Bayne 2009-02-13 21:57:11 +00:00
  • f75d810a92 Now that the PresentsSession reports its authname type, we can skip it in a few of these places. Michael Bayne 2009-02-13 03:08:16 +00:00
  • 1f6f8edeb9 Allow custom BodyLocators to be provided to different PlaceManagers. Twisty maze of passages! Michael Bayne 2009-02-13 03:08:01 +00:00
  • 31d09fcd14 Disambiguate custom auth names. Michael Bayne 2009-02-13 02:51:55 +00:00
  • 9a4f2edc5d We can just inject the injector. Michael Bayne 2009-02-13 02:51:34 +00:00
  • c5b7379dea Modernized logging of safe object manager Jamie Doornbos 2009-02-11 21:51:52 +00:00
  • 1d9c2802ea Let's handle shorts and bytes too. Mike Thomas 2009-02-06 21:29:08 +00:00
  • bb9f068782 commentfix Tom Conkling 2009-02-06 21:24:41 +00:00
  • 65f4810832 Nixed unused import. Michael Bayne 2009-02-03 01:43:14 +00:00
  • 3171bc1ff4 Change the behaviour of the NameUpdater to play nicely with Name implementations where equal() does not depend on display name. Write cumbersome TODO comment. Par Winzell 2009-02-02 22:03:26 +00:00
  • 4912d22b90 Widening, made a note about why we don't set _shutdownRequested. Michael Bayne 2009-02-01 22:53:55 +00:00
  • 02d97ddec1 Allow a preconfigured URLRequest to be passed in. Ray Greenwell 2009-01-30 00:12:22 +00:00
  • 5c26798d10 Revert to targetting 9. Ray Greenwell 2009-01-29 20:29:22 +00:00
  • ca5aad1360 Updated to target flash 10. Ray Greenwell 2009-01-28 22:28:15 +00:00
  • ef4ee0ac1e Let's teach GenReceiverTask to cope with inner classes the same way GenServiceTask already does. Dave Hoover 2009-01-27 01:45:19 +00:00
  • a3d08aaa2d Oops, missed this little guy. Jamie Doornbos 2009-01-22 16:54:08 +00:00
  • 00954dff5b Stop spamming the log file with these warnings. The code does nothing to prevent them and they are happening all over the shop in msoy. Jamie Doornbos 2009-01-22 06:46:00 +00:00
  • ba600f771d Allow client resolution to bail out in an orderly fashion is a disconnection occurs Jamie Doornbos 2009-01-22 06:32:14 +00:00
  • 2a1b047159 Fixed negative units per second value when total units is greater than about 2.2 million Jamie Doornbos 2009-01-19 23:46:53 +00:00
  • 3372808a9a Proper GLPGL header Jamie Doornbos 2009-01-19 23:02:19 +00:00
  • 9cbed63ac7 Share the Reporter implementation of PresentsInvoker so that the PresentsAuthInvoker is reported too. Jamie Doornbos 2009-01-19 22:50:28 +00:00
  • 46e048ab4a Change the default behavior of handleSuccess: if the listener is a ConfirmListener, do it! Hopefully this doesn't fork anything up. Ray Greenwell 2009-01-17 02:21:44 +00:00
  • b2b8f57454 - Monitor logins to other nodes, boot any local sessions with the same authentication name. - Use new (ca. 2002) pattern of creating an overridable listener, rather than making the whole class a listener. Ray Greenwell 2009-01-15 23:19:02 +00:00
  • 9d28bdbeef Drive-by logging varargification. Ray Greenwell 2009-01-15 22:04:36 +00:00
  • 44a4981d27 Stop trying to flush clients after the server shuts down Jamie Doornbos 2009-01-14 23:28:16 +00:00
  • a99489e650 Aha! Fixed race condition in narya fundamentals introduced with guice (r5153). This was causing a very rare concurrent modification exception when a client would log on when another one was about to expire. The problem was revealed by the trace in the msoy log of the 2009/01/10. Jamie Doornbos 2009-01-13 22:33:56 +00:00
  • 96fb4752b3 Make it easy to determine how many (if any) nodes on which your function was called. Michael Bayne 2009-01-10 22:51:26 +00:00
  • d273a550fa More session type reporting. Michael Bayne 2009-01-10 19:04:12 +00:00
  • 4e980867cf No need to repeat ourselves. Michael Bayne 2009-01-10 18:56:33 +00:00
  • 06473a1a11 Fixed paths. Michael Bayne 2009-01-10 18:56:21 +00:00
  • 84b0a6b413 Report information that will allow us to disambiguate world, game and party auths. Michael Bayne 2009-01-10 18:46:31 +00:00
  • a34f1592f4 Code hygiene. Michael Bayne 2009-01-08 22:16:23 +00:00
  • 991b9a9ffc Updated to new Depot world order. Michael Bayne 2009-01-08 02:10:25 +00:00
  • 09850202a8 The signature of findAll() has changed. Par Winzell 2009-01-07 19:32:59 +00:00
  • 8dcc87a749 Match some of the changes on the actionscript side, but did not bring the "ChatSnooper" interface over, because it's not yet needed here. Ray Greenwell 2009-01-07 02:22:47 +00:00
  • 8058dd35e8 Added the ChatSnooper interface, to hear about chat from the server prior to it being filtered. Ray Greenwell 2009-01-07 02:22:12 +00:00
  • 053d411d41 Have the LocationDirector configure the ChatDirector with the current place rather than having the ChatDirector listen for location changes from the location director. This allows us to have multiple location directors work with the same chat director as long as we're only in one place in one of the location directors at a time. Michael Bayne 2009-01-06 22:24:28 +00:00
  • 8fcfa6e211 Added bodyWillLeave() to go with bodyWillEnter() for great symmetry and justice. Cleaned up some other stuff in the process. Michael Bayne 2009-01-06 03:08:21 +00:00
  • 0c4665e587 We actually want to refuse to stream either int or Number plainly. Actionscript prevents us from reliably using them. Ray Greenwell 2009-01-06 02:11:55 +00:00
  • e6180d359d Clean up a couple warnings Dave Hoover 2009-01-05 18:37:33 +00:00
  • 5cfb56f003 Fix recently introduced error where int values could not be written out as objects, particularly problematic for generic containers like StreamableHashMap. This was causing the creation of tables to fail for any game with a "range" custom parameter. There is likely a better fix for this, but this will do until we think of it. Jamie Doornbos 2009-01-04 22:27:37 +00:00
  • e9bfc85db8 Let new implementations of this have better variable names Jamie Doornbos 2009-01-04 21:24:20 +00:00
  • 05afcd70d9 Moved a constant to the base class and replaced the hard-wiring there Jamie Doornbos 2009-01-04 07:14:54 +00:00
  • eaa270be35 Stop java clients from queueing up ticks after logoff. This was sometimes causing a warning during shutdown. Jamie Doornbos 2009-01-04 06:09:36 +00:00
  • 581230b9a2 Operate on a snapshot of the overflow queue values as a connection may fail while we're processing its overflow messages, which causes its overflow queue to be cleared which causes a ConcurrentModificationException. Michael Bayne 2009-01-03 00:41:53 +00:00
  • b811f9e97f Enable unit profiling for great Whirled investigation. Michael Bayne 2009-01-02 19:10:33 +00:00
  • 7e0bd5c99a Drive by unwrapping. Michael Bayne 2008-12-31 22:31:34 +00:00
  • 7728ed9bd3 Further cleanup: always look up streamers by their java name. - Sliiiiightly less efficient in a few cases. - But: looking typed arrays up by class didn't work anyway, there was some duplicated code in jname and class lookup, and the jname thing handles Lists from the server. So overall I think this is a win. Less code is better code. Ray Greenwell 2008-12-31 00:41:20 +00:00
  • e9152193b7 - Just use dictionaries, which are inside the HashMaps anyway. - Register Long. Ray Greenwell 2008-12-30 23:59:40 +00:00
  • e6ea84e5da Refactor to avoid linear lookup of streamers. This was a bit of a rabbit hole and took longer than expected, and I had a stupid bug that took a while to find, but in the end there are way more lines of code removed than added, so I'll call it a win. Streamer lookup is now via a Dictionary. Ray Greenwell 2008-12-30 23:25:50 +00:00
  • c7612ecb7d Apply Jamie's fix for negative numbers here on the actionscript side, too. Ray Greenwell 2008-12-30 20:25:51 +00:00
  • 9f920ae527 Added a note for Future Ray. Ray Greenwell 2008-12-19 22:13:24 +00:00
  • 7be46ee045 This all seems to work, so let's tidy it up. Ray Greenwell 2008-12-15 19:39:49 +00:00
  • bb152eb27b Extract scheduleRegularReboot() into a method. Michael Bayne 2008-12-12 23:50:20 +00:00
  • c8e725d5e5 Log pong receipts as well. Michael Bayne 2008-12-12 21:25:51 +00:00
  • 91f1a3f893 Make the ping debugging optional since dev seems not to be failing now. Michael Bayne 2008-12-12 20:41:19 +00:00
  • 8b177eea6f I didn't mean to commit that. Par Winzell 2008-12-12 16:06:18 +00:00
  • fb4a28b2ed Give Bureaus their own client object subclass. It does nothing at the moment, but we need it to be a distinct type for access control purposes. Par Winzell 2008-12-12 15:36:46 +00:00
  • 1052aa86ec readUTF? Jamie Doornbos 2008-12-11 20:01:46 +00:00
  • 0cfc7fcc9e Turn debugging off again. Whew. Par Winzell 2008-12-11 19:53:16 +00:00
  • 31388566f6 Turn on streaming I/O debugging long enough to get better debugging data on the development server. Will be flipped back ASAP. Par Winzell 2008-12-11 19:35:25 +00:00
  • 82da1521f3 I swear this was generating unchecked type warnings before, but it seems not to be now. Michael Bayne 2008-12-11 01:21:45 +00:00
  • 47216207b3 Cleany cleany. Michael Bayne 2008-12-11 01:12:51 +00:00
  • f6f5a86db0 Here too. Michael Bayne 2008-12-11 01:12:06 +00:00
  • f2b30890f9 Fix longstanding annoyance with proxy subscriber access control checking. If we're proxying for a client, we now have to give up our ClientObject to anyone who wants it, so that they can do access control checks. Michael Bayne 2008-12-11 01:11:04 +00:00
  • df5f5ace27 Cut client latency by attempting to send upstream messages immediately. Ray Greenwell 2008-12-10 21:41:10 +00:00
  • 20b775a41b Teach 'ant genservice' to respect files with ActionScript(omit=true). Ray Greenwell 2008-12-10 04:44:40 +00:00
  • ec9e3331b9 Put some debugging in to see if we can figure out why the game server is screwing the pooch on dev1. Michael Bayne 2008-12-10 01:31:28 +00:00
  • 4e01505dc5 We need the body here as well. Michael Bayne 2008-12-10 01:05:49 +00:00
  • 7c979eb436 Logging varagification, associated stack traces. Ray Greenwell 2008-12-10 01:05:41 +00:00
  • 49f2bdb493 Extract occupant info adding into an overridable method so that derived classes can both participate in the combined event that adds an occupant's info and can coordinate whether their info is added before or after. Michael Bayne 2008-12-10 01:04:05 +00:00
  • a3e1c6e09e Fixup. If there's an error when calling the callback function, we were assuming it was an argument-related error and trying again. However, this is sorta bad behavior as we don't want to call twice into a callback. In the case I was seeing, the first time in caused an NPE, but popped up a panel, and the second try was no-opping because the panel was already up (but misconfigured). Ray Greenwell 2008-12-09 23:23:15 +00:00
  • dc2c4e7793 Don't hardcode the TEXT data type; it'll still be chosen for use by MySQL and PostgreSQL because of the length of the field. Is 64k enough? Par Winzell 2008-12-09 22:50:52 +00:00
  • 5f69af762d Reorder the args to these adapters: success is first now, followed by failure. This has been wacked-out like this ever since I first wacked it out. Since the base class is ResultAdapter and it only takes failure, and the 'processed' function for ConfirmAdapter is optional, it seemed to make sense this way. But, we have another ResultAdapter (for non-invocation ResultListener) and it expects success first. So Mike noticed this today (I swear there was a big brouhaha about this over the summer) and beat me with my own rubber chicken. I'm not sure why I had a mental block about reordering, but let's do it! Ray Greenwell 2008-12-09 02:20:48 +00:00
  • 343a2a7026 Nix unread variable. Michael Bayne 2008-12-08 19:01:17 +00:00
  • 34d2833580 Enums can safely be used as Dictionary keys, and should therefore pass the isSimple() test. Nathan Curtis 2008-12-06 00:39:05 +00:00
  • 92713ee4b8 Let's do our adding in a single event. Michael Bayne 2008-12-05 22:03:04 +00:00