The following sequence depicts usage of Guild Chat through Exodus, a free Jabber client available for download from http://exodus.jabberstudio.org/. Other third-party Jabber clients, such as the Jabber plug-in for Trillian (http://www.ceruleanstudios.com/index.php) will work in a similar manner. For more information on the Jabber protocols (XMPP), see http://www.xmpp.org/. All communication between the client and server conforms to this protocol, with extensions noted herein. Samples of packet structure are provided in this document for the Jabber extensions.
To connect to the Guild Chat Server using a third-party client such as Exodus, enter "guildschat.station.sony.com" in the "Server" box. Allow the application to use the default port, which is 5222, to connect (click "Automatically discover host and port" in the "Connection" tab):
A user may log into the Guild Chat Server using either of the following methods:
Enter "WebClient" in the "Username" box.
Enter the "ssid" cookie from the SOE site in the "Password" box.
Enter your Station login name in the "Username" box.
Enter your Station password in the "Password" box.
Note: This method is insecure unless SSL is used, in which case the default port is 5223. Click the "Use SSL immediately when connected" option on the "SSL" tab to enable secure communication.
Listing characters in a guild
In order to obtain a list of characters in a particular guild, a user may do any of the following:
Select "Register with a Service" from the "Exodus" menu on Exodus.
Enter the fully-qualified guild name in the "Register with a Service" box. Note that the fully-qualified guild name is EQ2.World Name.Guild Name. For example, the Equinox guild on Mistmoore is denoted as EQ2.Mistmoore.Equinox.
A list of characters will appear in a pull-down box on the registration form.
Attempt to enter the guild room, using guildschat.station.sony.com as the "Room Server":
The guild room name is the fully-qualified name of the guild, with the following character substitution to comply with the Jabber ID standard (see the JEP-0106 RFC for more details: http://www.jabber.org/jeps/jep-0106.html):
For example, the valid room name for the D'oh guild on Antonia Bayle is EQ2.Antonia#20;Bayle.D#27;oh.
On the first entry attempt, the server will send an error indicating that no character has been selected, and Exodus will ask the user to register:
The registration process will then proceed as in Method 1.
Send the following packet directly to the server:
<iq type='get' id='id1'> <query xmlns='soe:iq:character#query'> <game>EQ2</game> <server>Server Name</server> <guild>Guild Name</guild> </query> </iq>
with the fields in italics correctly filled in. For example:
<iq type='get' id='id1'> <query xmlns='soe:iq:character#query'> <game>EQ2</game> <server>Antonia Bayle</server> <guild>Dâ€™oh</guild> </query> </iq>
Sending such a packet can be done from Exodus as follows:
- Select "Show Debug XML" from the "Tools" menu or press F12.
- Type (or paste) the packet into the lower section of the debug window.
- Right-click on that section of the window.
- Select "Send XML" from the pop-up menu that appears.
The returned packet from the server will be of this form:
<iq type='result' id='id1'> <query xmlns='soe:iq:character#query'> <game>EQ2</game> <server>Server Name</server> <guild>Guild Name</guild> <query-flat-results xmlns='http://soe.sony.com/guilds/view'> <property value='Character Name' name='result.01.name'/> </query-flat-results> </query> </iq>
The fields in italics are the same as those submitted in the send packet, and "Character Name" will be the name of a valid EQ2 character in the given guild under the user's Station account. This field will be present zero or more times, once for each character that the user has in the guild. For example:
<iq type='result' id='id1'> <query xmlns='soe:iq:character#query'> <game>EQ2</game> <server>Antornia Bayle</server> <guild>Dâ€™oh</guild> <query-flat-results xmlns='http://soe.sony.com/guilds/view'> <property value='Annie' name='result.01.name'/> <property value='Buford' name='result.01.name'/> <property value='Cecilia' name='result.01.name'/> </query-flat-results> </query> </iq>
Selecting a character with which to chat
If the user used Method 1 or Method 2 to obtain a list of characters, selecting a character consists of selecting the name from the drop-down list and clicking "Next" in the Exodus registration window.
With Method 3, it will be necessary to send a packet to the server in this form:
<iq type='set' id='id2'> <query xmlns='soe:iq:character#select'> <character>EQ2.World Name.Character Name</character> </query> </iq>
<iq type='set' id='id2'> <query xmlns='soe:iq:character#select'> <character>EQ2.Antonia Bayle.Annie</character> </query> </iq>
These packets can be sent from Exodus using the same steps as in Method 3 of "Listing characters in a guild". The server will return a result packet on success, and an error packet in case of failure:
<iq type='result' id='id2'> <query xmlns='soe:iq:character#select'> <character>EQ2.Antonia Bayle.Annie</character> </query> </iq> <iq type='error' id='id2'> <query xmlns='soe:iq:character#select'> <character>EQ2.Antonia Bayle.Annie</character> </query> <error type=â€™immediateâ€™ code=â€™405â€™>SOE:Character name not listed <soe:characterSelect/> </error> </iq>
Entering a guild chat room
Entering a chat room is done as in Method 2 of "Listing characters in a guild". After a character has been selected, however, room entry will succeed, and the chat room window will pop up in Exodus:
Note that characters in the room are listed by their fully-qualified names, which consist of the game name, server name, and character name, converted to a JID-compliant format using JEP-0106, just as the fully-qualified guild name was converted to a JID-compliant chat room name.
Chatting with in a guild room
To chat, simply type messages into the lower part of the chat window and press return. Your messages will appear next to your fully-qualified, JID-compliant character name:
The message will also be visible to web-based clients connected to guild chat (for the same guild) through the EQ2 Players web site, as well as characters belonging to that guild that are currently playing EQ2.
Sending instant messages
To send a message to another player in any SOE game (not just EQ2), select "Send Instant Message" from the "Exodus" menu or press F5:
Then, type the fully-qualified, JID-compliant name of the character to whom you wish to send a message, followed by "@" and a hostname (which is ignored) in the "Send a Message" box:
Alternatively, in place of the two steps above, if the character to which you wish to send an message is in the guild chat room, simply right-click on the character's name in the occupant pane and click "Message":
Type the message in the main area of the "Message to" window and click "Send":
Your message will be sent to the designated character; the "Subject" field will not be sent.
Obtaining your current list of ignored characters
For a user to obtain the current list of characters that their selected character is ignoring, the following packet must be sent to the server:
<iq type="get" id="getlist2"> <query xmlns="jabber:iq:privacy"> <list name="public"/> </query> </iq>
The reply will look like this:
<iq type='result' id='getlist2'> <query xmlns='jabber:iq:privacy'> <list name='public'> <item type='jid' value='EQ.Quellious.Dreadful' action='deny' order='0'/> <item type='jid' value='EQ2.Mistmoore.Foolish' action='deny' order='0'/> <item type='jid' value='SWG.Ahazi.Goofus' action='deny' order='0'/> </list> </query> </iq>
Altering your current list of ignored characters
To add a character to the list of ignores for your selected character, send a packet of this form:
<iq type="set" id="id1"> <query xmlns="jabber:iq:privacy"> <list name="public"> <item type='jid' value='Game.Server.Character' action='deny' order='0'/> </list> </query> </iq>
<iq type="set" id="id1"> <query xmlns="jabber:iq:privacy"> <list name="public"> <item type='jid' value='SWG.Bria.Crazedâ€™maniac' action='deny' order='0'/> </list> </query> </iq>
To remove a character from the list, send a packet in this form:
<iq type="set" id="getlist2"> <query xmlns="jabber:iq:privacy"> <list name="public"> <item type='jid' value='Game.Server.Character' action='allow' order='0'/> </list> </query> </iq>
<iq type="set" id="id1"> <query xmlns="jabber:iq:privacy"> <list name="public"> <item type='jid' value='SWG.Bria.Reformedâ€™stalker' action='allow' order='0'/> </list> </query> </iq>
The protocol for obtaining and altering the list of ignored character complies with the XMPP specification for privacy lists given by RFC 3921 (http://www.xmpp.org/specs/ - http://www.xmpp.org/specs/rfc3921.html#privacy). Exodus does not support this part of the protocol, but other third-party Jabber chat clients may allow the above functionality without requiring custom packets.
Getting data about a guild
In order to obtain the same data about a specific EQ2 guild that the web-based client displays, send a packet of this form:
<iq type='get' id='id2'> <query xmlns='soe:iq:guild#data'> <guild>EQ2.Server Name.Guild Name</guild> obtain the same data about a guild that the web-based client displays, send a packet of this form: </query> </iq>
<iq type='get' id='id2'> <query xmlns='soe:iq:guild#data'> <guild>EQ2.Antonia Bayle.Dâ€™oh </guild> </query> </iq>
The returned data will look like this:
<iq type='result' id='id2'> <query xmlns='soe:iq:guild#data'> <guild>EQ2.Antonia Bayle.Dâ€™oh</guild> <query-flat-results xmlns='http://soe.sony.com/guilds/view'> <property value='2600001' name='result.01.guildId'/> <property value='0' name='result.01.mostConcurrentMembersCount'/> <property value='' name='result.01.mostConcurrentMembersTimeStamp'/> <property value='Hello everybody!' name='result.01.motd'/> <property value='2600' name='result.01.shortId'/> <property value='1' name='result.01.stats.totalFighters'/> <property value='2' name='result.01.stats.totalMages'/> <property value='0' name='result.01.stats.totalPriests'/> <property value='1' name='result.01.stats.totalScouts'/> </query-flat-results> </query> </iq>
Getting data about a character
In order to obtain the same data about a specific EQ2 character that the web-based client displays, send a packet of this form:
<iq type='get' id='id2'> <query xmlns='soe:iq:character#data'> <character>EQ2.Server Name.Character Name</character> </query> </iq>
<iq type='get' id='id2'> <query xmlns='soe:iq:character#data'> <character>EQ2.Antonia Bayle.Dexter</character> </query> </iq>
The server will send back data like this:
<iq type='result' id='id2'> <query xmlns='soe:iq:character#data'> <character> EQ2.Antonia Bayle.Dexter</character> <query-flat-results xmlns='http://soe.sony.com/guilds/view'> <property value='31' name='result.01.characterClass.archetypeClass.id'/> <property value='Scout' name='result.01.characterClass.archetypeClass.name'/> <property value='31' name='result.01.characterClass.id'/> <property value='Scout' name='result.01.characterClass.name'/> <property value='98476001' name='result.01.characterId'/> <property value='Qeynos' name='result.01.cityAlignmentName'/> <property value='Male' name='result.01.genderName'/> <property value='guild test' name='result.01.guildMembership.guild.name'/> <property value='3' name='result.01.guildMembership.guildRank'/> <property value='Initiate' name='result.01.guildMembership.guildRankName'/> <property value='3' name='result.01.level'/> <property value='Testguildstim' name='result.01.name'/> <property value='Kerra' name='result.01.race.name'/> </query-flat-results> </query> </iq>
SOE shall determine, in its sole and absolute discretion, what SOE game or games (including what language-versions of those game(s)) the Service will be available for (individually and collectively referred to as the "Game"). All Game software and subscriptions are sold separately.
3. You shall not, through, via or in connection with your use of or access to the Service:
(i) transmit, use, post, upload, link to or distribute, or facilitate the transmission, use, posting, linking to, uploading or distribution, of any message, computer software, text, graphics, pictures, displays, screenshots, user interfaces, artwork, characters, items, coin, housing, music and other components, data, databases, information and materials, whether in written, digital, machine-readable, electronic or visual form (the "Content") that is unlawful, used without permission, harmful, threatening, abusive, harassing, tortious, defamatory, vulgar, obscene, libelous, child pornographic or harmful to minors, that may be invasive of another's right of privacy or publicity, hateful, racially, ethnically or otherwise objectionable in SOE's sole and absolute discretion;
(ii) impersonate any person or entity, including but not limited to, a Station or SOE official, employee or representative, forum leader, guide or host or falsely state or otherwise misrepresent your affiliation with a person or entity;
(iii) post, use, transmit, link to, upload or distribute or facilitate the posting, use, transmission, linking to, uploading or distribution of any: Content that you do not have a right to transmit, upload, post or distribute under any law or under contractual or fiduciary relationships (such as nondisclosure agreements); any pictures or graphics of any minor(s), or modify or prepare derivative works of the Content;
(iv) post, use, transmit, distribute, upload, link to or facilitate the posting, use, uploading, distribution, linking to or transmission of any Content that contains a virus, trojan horse, bot, keystroke logger, corrupted data, worm, time bomb, cancelbot or other computer programming routines that are intended to or actually damage, detrimentally interfere with, surreptitiously intercept or expropriate any system, data, text or personal information;
(v) use the Service in a manner that adversely affects the availability of its resources to other users (e.g., denial of service attack, excessive shouting [use of all caps], flooding [continuous posting of repetitive text] or excessively large embedded images);
(vi) post, use, transmit, upload, link to or distribute or facilitate the posting, use, transmission, uploading, linking to or distribution of any unsolicited advertising, promotional materials, "junk mail", "spam", "chain letters", "pyramid schemes" or any other form of solicitation;
(vii) intentionally or unintentionally, or encourage or facilitate the ability of any other person to, violate any applicable local, state, national or international law, rule or regulation;
(viii) upload, post, link to, distribute or transmit (or facilitate any of the foregoing) any Content that infringes any patent, trademark, trade secret, copyright or other proprietary rights ("Rights") of any party or remove or modify any copyright or trademark notice on any part of the Content;
(ix) use any third party hardware, devices or software or modify any game client, software, or Content (such as through macros, bots, hacks and cheats) to modify or unfairly impact the Service, allow for unattended game play or use of the Service or to decrypt, modify, parse, scrape, interrupt or intercept any data or information relating to the Service or transmitted between client and server; in addition, you may not create, facilitate, host, transmit, re-transmit, mirror, link to or provide any other means through which the Service may be accessed or viewed by others, such as through server emulators or mirrored websites;
(x) use, modify, copy, publish, post, transmit, make derivative works of, adapt, perform, display, synchronize, commercialize or exploit all or any portion of the Contents or other content other than as expressly provided herein;
(xi) allow any other person to access your Service account; you are liable for all activities conducted through your Station and/or Game account;
(xii) use any software, hardware or materials that you do not have valid, express permission to use for this purpose; or
4. You acknowledge and agree that you have not and will not acquire or obtain any intellectual property or other rights, including any right of exploitation, of any kind in or to the Content relating to the Service or Game, the Service, or the Game, or any portion of any of the above, including, without limitation, in any artwork, music, character(s), item(s), coin(s), text, graphics, data, information or other material or property, and that all such property, material, data, information and items are exclusively owned by SOE and is the copyrighted property of SOE.
5. You understand that anything sent, displayed or used via the Service is the sole responsibility of the sending party or user. SOE has no obligation to monitor or supervise the Service, expressly disclaims any representation that it will monitor or supervise the Service -- but also expressly reserves the right to monitor or supervise the Service in its sole discretion. We cannot ensure that your private communications (or communications made to a group of people) and other personally identifiable information will not be disclosed to third parties. For example, we may be forced to disclose information to the government or third parties under certain circumstances, or third parties may unlawfully intercept or access transmissions or private communications. Additionally, we can (and you authorize us to) disclose any information about you to private entities, law enforcement or other government officials as we, in our sole discretion, believe necessary or appropriate to investigate or resolve possible problems or inquiries. Furthermore, if you request any technical support, you consent to our remote accessing and review of the computer you use in connection with the Service for purposes of support and debugging. You agree that we may communicate with you via telephone, email and any similar technology for any purpose relating to the Service and any services or software which may in the future be provided by us or on our behalf. You acknowledge that any and all character data and other data and information relating to the Game and the Service is stored and is resident on our servers, and any and all communications that you make within or in connection with the Service (including, but not limited to, messages solely directed at another player or group of players) traverse through our servers, may or may not be monitored by us or our agents, you have no expectation of privacy in any such communications and expressly consent to such monitoring of communications you send and receive. You acknowledge and agree that we may transfer Game and Service account information (including your personally identifiable information and personal data) to the United States or other countries or may share such information with our licensees and agents in connection with the Service.
As part of your use of the Service, you may be able to upload material, information, text, graphics, pictures and other content to our servers in various forms. We may take any action with respect to any of the foregoing uploaded material and content if we believe it is inappropriate, objectionable or offensive, may create liability for us or may cause us to lose (in whole or in part) the services of our ISPs or other suppliers, as determined in our sole and absolute discretion. You hereby grant to us a worldwide, perpetual, irrevocable, royalty-free, sublicenseable (through multiple tiers) right to exercise all rights of any kind or nature associated with any such material or content you may upload, including, without limitation, all intellectual property rights, and all ancillary and subsidiary rights thereto, in any languages and in any media now known or not currently known., associated with such material and content.
6. When you make your IP address available on the Service you have made it public and, accordingly, you should take appropriate measures (such as a firewall) to safeguard your hardware and data from attack or unauthorized access by third parties. You expressly release SOE, its affiliated companies and their officers, directors, employees and agents from any claim or loss you may suffer as a result of any third party access to your hardware, software, computer system and/or data.
7. NEITHER SOE, ANY COMPANY AFFILIATED WITH SOE, SOE'S LICENSORS AND LICENSEES, NOR ANY OF THEIR RESPECTIVE DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS, MAKE ANY WARRANTY WHATSOEVER, INCLUDING, WITHOUT LIMITATION, THAT THE SERVICE WILL BE UNINTERRUPTED, AVAILABLE, SECURE, VIRUS FREE OR ERROR FREE. We are not liable for any delay or failure to perform resulting from any causes beyond our reasonable control. Further, we cannot and do not promise or ensure that you will be able to access THE GAME AND/OR THE service whenever you want, and there may be extended periods of time when you cannot access THE GAME AND/OR the service. You assume the entire risk as to the results and performance of the service in connection with your hardware and software, and you assume the entire cost of all servicing, repair and/or correction of your hardware and software. THE SERVICE IS PROVIDED ON AN "AS IS" BASIS WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE OR NON-INFRINGEMENT OR IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OTHER THAN THOSE WARRANTIES WHICH ARE INCAPABLE OF EXCLUSION, RESTRICTION OR MODIFICATION UNDER THE LAWS APPLICABLE TO THIS AGREEMENT. USE OF THE SERVICE IS AT YOUR SOLE RISK.
THE DISCLAIMERS OF LIABILITY CONTAINED IN THIS SECTION 7 APPLY TO ANY DAMAGES OR INJURY CAUSED BY ANY FAILURE OF PERFORMANCE, ERROR, OMISSION, INTERRUPTION, DELETION, DEFECT, LOSS OF DATA OR INFORMATION, DELAY IN OPERATION OR TRANSMISSION, COMPUTER VIRUS, COMMUNICATION LINE FAILURE, THEFT OR DESTRUCTION OR UNAUTHORIZED ACCESS TO, ALTERATION OF, OR USE OF THE SERVICE, WHETHER FOR BREACH OF CONTRACT, TORTIOUS BEHAVIOR, NEGLIGENCE, OR UNDER ANY OTHER CAUSE OF ACTION.
IN NO EVENT WILL SOE, ANY COMPANY AFFILIATED WITH SOE, ANY SOE LICENSOR OR LICENSEE, OR ANY OF THEIR RESPECTIVE DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE FOR (A) ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OR LOSS OF DATA OR INFORMATION ARISING OUT OF OR RELATED TO (I) THE USE OF OR INABILITY TO USE THE SERVICE, (II) THE BREACH OF ANY REPRESENTATION OR WARRANTY, (III) THE USE BY YOU OF THE SERVICE AND/OR (IV) THE DOWNLOADING OF ANY SOFTWARE OWNED OR OPERATED BY ANY THIRD PARTY, IN CONNECTION WITH THE SERVICE OR (B) ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATED TO THE SERVICE, WHETHER FOR BREACH OF WARRANTY OR ANY OBLIGATION ARISING THEREFROM OR OTHERWISE, WHETHER LIABILITY IS ASSERTED IN CONTRACT OR TORT (INCLUDING NEGLIGENCE AND STRICT PRODUCT LIABILITY), AND IRRESPECTIVE OF EVEN IF SOE WAS PREVIOUSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU.
10. The Service is controlled and operated by SOE from its offices within the State of California, United States of America; but may be served remotely. SOE makes no representation that the Service is available for use in any particular location or in any particular language. Those who choose to access the Service from countries other than the United States do so on their own initiative and are responsible for compliance with local laws, if and to the extent local laws are applicable. The Service and Content are subject to United States export controls. The Service and Content may NOT be downloaded or otherwise exported or re-exported (i) into (or to a national or resident of) Cuba, Iraq, Libya, North Korea, Iran, Syria, or any other country to which the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Deny Orders (including, but not limited to, the Denied Persons List). By downloading or using the Service or Content, you represent and warrant that you are not located in, under the control of, or a national or resident of any such country or on any such list.