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
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
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
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
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