HomeWildfire Games

Multiplayer lobby based on the XmPP protocol. Special thanks to Philip…

Description

Multiplayer lobby based on the XmPP protocol. Special thanks to Philip, alpha123, scythetwirler, and anyone else who has helped build, debug or test the lobby.

Details

Committed
JoshuaJBNov 7 2013, 9:07 PM
Parents
rP14097: glooxwrapper by Philip to support building gloox on Windows.
Branches
Unknown
Tags
Unknown

Event Timeline

elexis added a subscriber: elexis.Jul 21 2018, 1:05 PM
elexis added inline comments.
/ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js
568

This is messy, first the text is escaped and then GUI tags are inserted, refs D720. But it should be escapeText(text1) + highlight(escapeText(username)) + escapeText(text2), otherwise it doesn't work with nicknames that contain an escaped character.
So escaping first is wrong, escaping later is wrong too or uglily complicated.
Same problem later in nickname highlighting of session and gamesetup chat.

elexis added inline comments.Oct 28 2018, 2:06 AM
/ps/trunk/source/tools/XpartaMuPP/README
69

This orders to the user to execute a command and in the next sentence it says the command should not be executed.

I can't identify a use case for the defaults, i.e. to join the room "arena" on "lobby.wildfiregames.com" with a password "XXXXXX".

The sentence can be removed without replacement in favor of the suceeding sentence.

83

Using SSL version, but does not inform the user how to configure SSL/TLS (nor how to run without SSL)

elexis added inline comments.Oct 20 2019, 4:36 PM
/ps/trunk/source/tools/XpartaMuPP/XpartaMuPP.py
239

The trailing comma shouldn't be sent, rather than removed

283

The trailing comma shouldn't be sent, rather than removed

elexis added inline comments.Nov 9 2019, 2:19 AM
/ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js
591

mostly split(" ", 1)

594

But the protocol implemented is XMPP, so IRC seems terribly off to the reader, especially since most commands are well defined in that protocol such as /me, /kick:

https://xmpp.org/extensions/xep-0045.html

Clients MAY implement a variety of interface styles that provide "shortcuts" to functionality such as changing one's nickname, kicking or banning users, discovering an occupant's full JID, or changing the subject. One option consists of IRC-style commands such as '/nick', '/kick', '/ban', and '/whois'; another is to enable a user to right-click items in a room roster. All such interface styles are OPTIONAL. However, for convenience, a mapping of IRC commands to MUC protocols is provided below.

https://xmpp.org/extensions/xep-0245.html

The /me command [1] is a text string that enables a human user to type an action phrase and have it be presented in a special way within an instant messaging client. The text string is followed by a verb or verb phrase, such as "/me laughs" or "/me is logging off now".

The only command that is implemented in this function and in IRC but not in XMPP is the /say command.
The only use case documented for the /say command is that it allows sending of urls starting with slash.
https://developer.pidgin.im/ticket/3359

elexis added inline comments.Nov 16 2019, 1:35 AM
/ps/trunk/binaries/data/mods/public/gui/lobby/lobby.js
4

The /special command and the g_specialKey are an extraordinary way to implement a boolean that should have never been written.

elexis added inline comments.Nov 18 2019, 2:19 PM
/ps/trunk/source/lobby/XmppClient.cpp
500

"nice" should be "translatable"