Send rating related requests directly to EcheLOn.
Patch By: Dunedan Differential Revision: https://code.wildfiregames.com/D1177 This was SVN commit r21719.
This commit is contained in:
parent
1d158a25ea
commit
e6106afc05
@ -413,7 +413,8 @@ extended = true ; Whether to display the chat history
|
||||
history = 0 ; Number of past messages to display on join
|
||||
room = "arena23" ; Default MUC room to join
|
||||
server = "lobby.wildfiregames.com" ; Address of lobby server
|
||||
xpartamupp = "wfgbot23" ; Name of the server-side xmpp client that manage games
|
||||
xpartamupp = "wfgbot23" ; Name of the server-side XMPP-account that manage games
|
||||
echelon = "echelon23" ; Name of the server-side XMPP-account that manages ratings
|
||||
buddies = "," ; Comma separated list of playernames that the current user has marked as buddies
|
||||
rememberpassword = true ; Whether to store the encrypted password in the user config
|
||||
secureauth = true ; Secure Lobby Authentication: This prevents the impersonation of other players. The lobby server confirms the identity of the player before they join.
|
||||
|
@ -79,10 +79,13 @@ XmppClient::XmppClient(const std::string& sUsername, const std::string& sPasswor
|
||||
{
|
||||
// Read lobby configuration from default.cfg
|
||||
std::string sXpartamupp;
|
||||
std::string sEchelon;
|
||||
CFG_GET_VAL("lobby.server", m_server);
|
||||
CFG_GET_VAL("lobby.xpartamupp", sXpartamupp);
|
||||
CFG_GET_VAL("lobby.echelon", sEchelon);
|
||||
|
||||
m_xpartamuppId = sXpartamupp + "@" + m_server + "/CC";
|
||||
m_echelonId = sEchelon + "@" + m_server + "/CC";
|
||||
glooxwrapper::JID clientJid(sUsername + "@" + m_server + "/0ad");
|
||||
glooxwrapper::JID roomJid(m_room + "@conference." + m_server + "/" + sNick);
|
||||
|
||||
@ -279,12 +282,12 @@ void XmppClient::handleMUCError(glooxwrapper::MUCRoom*, gloox::StanzaError err)
|
||||
*/
|
||||
void XmppClient::SendIqGetBoardList()
|
||||
{
|
||||
glooxwrapper::JID xpartamuppJid(m_xpartamuppId);
|
||||
glooxwrapper::JID echelonJid(m_echelonId);
|
||||
|
||||
// Send IQ
|
||||
BoardListQuery* b = new BoardListQuery();
|
||||
b->m_Command = "getleaderboard";
|
||||
glooxwrapper::IQ iq(gloox::IQ::Get, xpartamuppJid, m_client->getID());
|
||||
glooxwrapper::IQ iq(gloox::IQ::Get, echelonJid, m_client->getID());
|
||||
iq.addExtension(b);
|
||||
DbgXMPP("SendIqGetBoardList [" << tag_xml(iq) << "]");
|
||||
m_client->send(iq);
|
||||
@ -295,12 +298,12 @@ void XmppClient::SendIqGetBoardList()
|
||||
*/
|
||||
void XmppClient::SendIqGetProfile(const std::string& player)
|
||||
{
|
||||
glooxwrapper::JID xpartamuppJid(m_xpartamuppId);
|
||||
glooxwrapper::JID echelonJid(m_echelonId);
|
||||
|
||||
// Send IQ
|
||||
ProfileQuery* b = new ProfileQuery();
|
||||
b->m_Command = player;
|
||||
glooxwrapper::IQ iq(gloox::IQ::Get, xpartamuppJid, m_client->getID());
|
||||
glooxwrapper::IQ iq(gloox::IQ::Get, echelonJid, m_client->getID());
|
||||
iq.addExtension(b);
|
||||
DbgXMPP("SendIqGetProfile [" << tag_xml(iq) << "]");
|
||||
m_client->send(iq);
|
||||
@ -313,7 +316,7 @@ void XmppClient::SendIqGetProfile(const std::string& player)
|
||||
*/
|
||||
void XmppClient::SendIqGameReport(const ScriptInterface& scriptInterface, JS::HandleValue data)
|
||||
{
|
||||
glooxwrapper::JID xpartamuppJid(m_xpartamuppId);
|
||||
glooxwrapper::JID echelonJid(m_echelonId);
|
||||
|
||||
// Setup some base stanza attributes
|
||||
GameReport* game = new GameReport();
|
||||
@ -333,7 +336,7 @@ void XmppClient::SendIqGameReport(const ScriptInterface& scriptInterface, JS::Ha
|
||||
game->m_GameReport.emplace_back(report);
|
||||
|
||||
// Send IQ
|
||||
glooxwrapper::IQ iq(gloox::IQ::Set, xpartamuppJid, m_client->getID());
|
||||
glooxwrapper::IQ iq(gloox::IQ::Set, echelonJid, m_client->getID());
|
||||
iq.addExtension(game);
|
||||
DbgXMPP("SendGameReport [" << tag_xml(iq) << "]");
|
||||
m_client->send(iq);
|
||||
|
@ -51,6 +51,7 @@ private:
|
||||
std::string m_room;
|
||||
std::string m_nick;
|
||||
std::string m_xpartamuppId;
|
||||
std::string m_echelonId;
|
||||
|
||||
// State
|
||||
bool m_initialLoadComplete;
|
||||
|
@ -572,9 +572,13 @@ class EcheLOn(sleekxmpp.ClientXMPP):
|
||||
"""
|
||||
Client is reporting end of game statistics
|
||||
"""
|
||||
if iq['gamereport']['sender']:
|
||||
sender = iq['gamereport']['sender']
|
||||
else:
|
||||
sender = iq['from']
|
||||
try:
|
||||
self.leaderboard.getOrCreatePlayer(iq['gamereport']['sender'])
|
||||
self.reportManager.addReport(iq['gamereport']['sender'], iq['gamereport']['game'])
|
||||
self.reportManager.addReport(sender, iq['gamereport']['game'])
|
||||
if self.leaderboard.getLastRatedMessage() != "":
|
||||
self.ratingCacheReload = True
|
||||
self.boardCacheReload = True
|
||||
|
Loading…
Reference in New Issue
Block a user