Commit Graph

353 Commits

Author SHA1 Message Date
Michael Bayne a3c86ec1d4 Make it easy to create a UserMessage for tells.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:27:44 +00:00
Michael Bayne 05cef39f63 Revamped chat handling a bit:
- the ChatProvider is now a proper singleton rather than providing static
methods for everything (it is accessed through CrowdServer.chatprov)
- it can now be extended to create a custom UserMessage for tells (which can
contain avatar information on systems that want to show an avatar on the
receipt of a tell)
- the ChatProvider API was tidied up a bit as some methods had been addded over
time that were not sufficiently general purpose so their callers will be
changed to use the general purpose APIs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4251 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:22:12 +00:00
Michael Bayne 6be44f5a65 Finished up the basic peer system and wired up the tell forwarding. In theory
it all works, now to test it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 22:48:32 +00:00
Michael Bayne bdadd2377e Behold, TAPOAFTSM! The Awesome Power Of A Fully Type-Safe Mothership.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4246 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:56:16 +00:00
Michael Bayne 3a9c6ced44 A bunch more peer business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-01 03:34:00 +00:00
Michael Bayne 33a758dfce The basis of cluster support for Presents servers. All servers in a cluster
make connections to other servers in the cluster and can exchange events (in a
limited fashion).

This is different than Liz's project wherein servers share an oid space and one
can interchangably work with distributed objects from any server. This package
provides a means by which certain services (by default, presence and chat) can
be communicated between servers to allow communication between players
scattered around a bunch of otherwise independent server instances.

This is less general purpose but also less likely to encourage people to write
code that tightly couples multiple servers and then falls over because it
generates gobs of network traffic as events are flung willy nilly behind the
scenes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4238 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-01 00:19:59 +00:00
Michael Bayne 0a5953bf17 Chipping away at proper type safety for all of the Narya code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 17:46:36 +00:00
Michael Bayne 78a8d6fe62 Nix superfluous log message.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4198 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-17 23:12:21 +00:00
Ray Greenwell 79c6427c21 StringBuffer -> StringBuilder.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 22:42:20 +00:00
Michael Bayne 83cffce259 Regenerated object definitions with the new hotness.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 04:16:57 +00:00
Ray Greenwell 26c928fc45 Use the valueOf factory methods pretty much everywhere.
These are the preferred way to get instances of Boolean, Byte,
Short, Character, Integer, Long, Float, and Double object.
It's always made sense for Boolean objects, and with 1.5 these factory
methods were blessed as the proper way to get instances unless one
absolutely needed a distinct object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-24 01:24:24 +00:00
Michael Bayne b13b1a54a4 Type the occupantInfo DSet.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-22 22:50:39 +00:00
Michael Bayne 0699eb3d1c Added a standard mechanism for customizing the AccessController on a
PlaceObject. Created a default AccessController that is slightly more strict
than the CrowdServer-wide default in that it only allows place occupants to
subscribe to a PlaceObject (a motivated and resourceful player could otherwise
listen in on place chat everywhere in the game if they so desired; with a
custom client, of course).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4079 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-30 19:16:05 +00:00
Ray Greenwell 461e109462 Fixed error in the SpeakHandler that mdb checked in: the service
should not be propogated. If someone chooses crew chat but then enters
a /speak command, it indicates that they want to break out of the crew
chat channel.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4068 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-27 01:53:40 +00:00
Ray Greenwell e1c9d4bc53 Better fix for parsing error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-26 21:37:28 +00:00
Mark Johnson 6436dc704c If there is no message component then just leave it null instead of
having substring throw an exception.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4062 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-26 20:46:02 +00:00
Ray Greenwell 177f996427 Tidied up the tell handler a bit:
- fixed quoted name parsing to not choke if the first token is just a quote.
- also fixed to not choke if the user types the message using some
  non-space whitespace characters.
- fixed history mistell erasing for multi-word usernames.
- use quotes in the history line only if the user used quotes.
- added hooks for easy subclassing


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4047 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 23:25:58 +00:00
Michael Bayne 00a84fb80a Mogrify broadcasts like other chat.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4042 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 08:11:30 +00:00
Michael Bayne 69e84fa9fb Added broadcast handler. Fixed bug in tell handler. Wired both up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4041 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 07:55:30 +00:00
Michael Bayne 11412c9602 Implemented a standard /tell handler.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4040 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-21 07:43:38 +00:00
Ray Greenwell efefdaa312 Updated method documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4029 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-18 02:04:06 +00:00
Michael Bayne fdf0fa27d3 Revamped PlaceConfig to instantiate the PlaceController directly instead of
looking it up by name which creates PITA when we want to obfuscate and strip
out unused code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4026 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-18 01:32:41 +00:00
Michael Bayne 1a705e2b55 Type safety.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4011 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-11 22:04:10 +00:00
Ray Greenwell 3325b1d7a3 Rewrote getOccupantInfo(Name) to take advantage of a method that now exists
in PlaceObject.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3951 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-16 01:32:37 +00:00
Ray Greenwell ccb77db4fa Removed unused cruft.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3946 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-15 00:31:22 +00:00
Michael Bayne 58cbfb6db1 Regenerated using the new Ant-task-based generator.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-06 21:51:59 +00:00
Ray Greenwell 852620bea4 Regenerated marshallers with new response-tracking code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 02:12:57 +00:00
Ray Greenwell 23087de145 Added a shutdown() method that removes us as a ChatFilter.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-06 00:54:02 +00:00
Michael Bayne d57adeca1c Big fat bernie OccupantInfo revamp. Now:
- OccupantInfo is created by the BodyObject
- the BodyObject is passed to the OI constructor and it uses information
  therefrom to configure itself
- the PlaceManager are no longer responsible for indicating the type of
  OccupantInfo to use or how to populate it.

This makes much more sense as the same type of OccupantInfo is generally used
across the entire system and it's annoying to have to have every PlaceMaanger
derived class know the type of OccupantInfo to create and know how to
initialize it. The one drawback is that only information from the BodyObject
can be used to populate the OccupantInfo, unpublished server-side only
information cannot be used (unless its stuffed into a transient field in the
BodyObject).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-03 03:05:06 +00:00
Ray Greenwell dc3cf4aa28 Added a new type of chat message: a UserSystemMessage is a system message
triggered by the activity of another user. The other username is provided
so that the message can be muted if desired.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3770 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-29 19:33:04 +00:00
Ray Greenwell 38ee3ae362 When a place is loaded, immediately schedule an unload in the future, if
applicable, as it will only otherwise get checked when users leave the place.
It's possible that we'll load and nobody will ever enter.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3763 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-17 03:29:24 +00:00
Michael Bayne 176329e1ed Various updates to allow a system where a user's visible name is not the same
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-10 23:18:58 +00:00
Michael Bayne 596d2a4708 blank() -> isBlank().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 04:00:16 +00:00
Elizabeth Fong eada0b7f50 r58@sally: elizabeth | 2005-10-25 03:59:59 -0700
Changed things around a bit to have the cheesy JabberChat run out of the box:
 * ChatDirector no longer freaks out when given null message bundles/managers.
 * MiCasa's ChatPanel is marked with a TODO item to stop passing in null
   messagebundles and messagemanagers to ChatDirector.
 * JabberApp and JabberClient have been adjusted to allow the user to specify
   which chatroom to join from the command line; I plan to implement this using
   BootstrapData when time permits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-25 11:13:51 +00:00
Ray Greenwell 5bd90aa797 Stop using TrackedObjects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-11 19:17:43 +00:00
Michael Bayne dd2468b140 Javadoc tidying up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-08 22:21:19 +00:00
Ray Greenwell d5ec5675d7 Added a comment about possible return values.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3692 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-29 21:42:11 +00:00
Michael Bayne ca04c00c44 Big chat revamp to migrate various useful things from Yohoho like /command
handling, chat history support and chat mogrification into the base
framework.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3690 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-24 21:59:50 +00:00
Ray Greenwell de892e0187 Catch exceptions in a few tender places during creation of a place and try
to log information.
There was an exception in here somewhere that froze a big tourney last week
but the stack trace was optimized out by hotspot (damn thee!). Hopefully
this will at least narrow it down, and possibly prevent total brokenness.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3681 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-12 22:22:13 +00:00
Ray Greenwell bdfc2a7005 Added a setToken() that takes a boolean, as it can be very convenient.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3668 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-04 01:15:17 +00:00
Ray Greenwell 3820456813 Allow subclasses to not create a speak service if they should so desire.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3644 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-06 17:47:51 +00:00
Michael Bayne a213847eea Added leavePlace() for games where you are sometimes not in any "place" at
all.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3638 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-30 00:02:13 +00:00
Ray Greenwell 3f438188dc Always report something to the user when they try to mute/unmute someone,
report success always when muting, even if nothing changed, but report
that the person wasn't there if an umute fails.
We get bug reports from people who unmute the person but they still can't
hear them and the only thing I can think of is that they are mistyping
the name.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3579 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-27 21:35:07 +00:00
Andrzej Kapolka 9213b23ce1 Added ratifyBodyEntry to PlaceManager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3561 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-17 21:53:53 +00:00
Michael Bayne 4757af99c6 No longer needed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3555 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-16 22:08:16 +00:00
Ray Greenwell a2b8874f46 Allow the userobject access controller to be overridden by ye subclasses.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3554 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-16 18:33:57 +00:00
Michael Bayne ff3012c5f9 Implement sensible default object access policies at the Crowd level (no
one can modify anything, a select few events are allowed on the body
object by the body object's owner only).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3553 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-16 05:17:05 +00:00
Michael Bayne c2ab172503 Put the basis for the token ring authentication stuff into Narya as we are
now using it in Yohoho, Game Gardens and Bang.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-16 04:51:11 +00:00
Ray Greenwell fa2ad0fa6c Fixed two bugs with the messages related to shunned players.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3460 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-07 02:19:07 +00:00
Michael Bayne afa995ebb9 Finally broke down and changed createPlaceView() to eliminate the annoying
potential fuckola of being called before the controller gets around to
initializing the casted context it almost certainly needs to create its
place view.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3440 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-30 01:09:30 +00:00