Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Woodpecker.Communication.Headers
- {
- public enum MessageRequestIds
- {
- OpenConnection = 2,
- TryLogin = 4,
- VersionCheck = 5,
- UniqueID = 6,
- InfoRetrieve = 7,
- GetCreditsBalance = 8,
- GetAvailableSets = 9,
- MessengerInit = 12,
- SBUSYF = 13,
- MessengerUpdate = 15,
- SeachUserFlats = 16,
- SRCHF = 17,
- GetFavoriteFlats = 18,
- AddFavoriteRoom = 19,
- DeleteFavoriteRoom = 20,
- GetFlatInfo = 21,
- DeleteFlat = 23,
- UpdateFlat = 24,
- SetFlatInfo = 25,
- SecretGetUserInfo = 26,
- GetDoorFlat = 28,
- CreateFlat = 29,
- MESSENGER_C_CLICK = 30,
- MESSENGER_C_READ = 31,
- MESSENGER_MARKREAD = 32,
- MESSENGER_SENDMSG = 33,
- MESSENGER_ASSIGNPERSMSG = 36,
- MessengerAcceptBuddy = 37,
- MessengerDeclineBuddy = 38,
- MessengerRequestBuddy = 39,
- MessengerRemoveBuddy = 40,
- FindUser = 41,
- ApproveName = 42,
- Register = 43,
- Update = 44,
- AC = 46,
- GetPassword = 47,
- PickCryForHelp = 48,
- GetDatetime = 49,
- Chat = 52,
- Quit = 53,
- GoViaDoor = 54,
- Shout = 55,
- Whisper = 56,
- TryFlat = 57,
- LangCheck = 58,
- GoToFlat = 59,
- GetHeightMap = 60,
- GetUsers = 61,
- GetObjects = 62,
- GetItems = 63,
- G_STAT = 64,
- GETSTRIP = 65,
- FLATPROPBYITEM = 66,
- ADDSTRIPITEM = 67,
- TradeDecline = 68,
- TradeAccept = 69,
- TradeClose = 70,
- TradeOpen = 71,
- TradeAddItem = 72,
- MoveStuff = 73,
- SETSTUFFDATA = 74,
- MoveAvatar = 75,
- ThrowDice = 76,
- DiceOff = 77,
- PresentOpen = 78,
- LookTo = 79,
- CarryDrink = 80,
- InToDoor = 81,
- DoorGoIn = 82,
- G_IDATA = 83 /* GetItemData */,
- SETITEMDATA = 84,
- RemoveItem = 85,
- CryForHelp = 86,
- CarryItem = 87,
- Stop = 88,
- UseItem = 89,
- PlaceStuff = 90,
- Dance = 93,
- Wave = 94,
- KickUser = 95 /* Info-o-matic? */,
- AssignRights = 96,
- RemoveRights = 97,
- LetUserIn = 98,
- RemoveStuff = 99,
- GRPC = 100,
- GCIX = 101,
- GCAP = 102 /* Snowstorm? Sulake knows. */,
- JumpStart = 103,
- SIGN = 104,
- BTCKS = 105,
- JUMPPERF = 106,
- SPLASH_POSITION = 107,
- CLOSE_UIMAKOPPI = 108,
- HUBU_VOTE = 112,
- PAALU_MOVE = 114,
- GOAWAY = 115,
- SWIMSUIT = 116,
- GetRoomAd = 126,
- GetUserCreditLog = 127,
- GetPetStatistics = 128,
- RedeemVoucher = 129,
- COPPA_REG_CHECKTIME = 130,
- COPPA_REG_GETREALTIME = 131,
- PARENT_EMAIL_REQUIRED = 146,
- VALIDATE_PARENT_EMAIL = 147,
- SEND_PARENT_EMAIL = 148,
- UPDATE_ACCOUNT = 149,
- Navigate = 150,
- GetUserFlatCats = 151,
- GetFlatCat = 152,
- SetFlatCat = 153,
- GETSPACENODEUSERS = 154,
- RemoveAllRights = 155,
- GETPARENTCHAIN = 156,
- GETAVAILABLEBADGES = 157,
- SetBadge = 158,
- GET_GAME_LIST = 159,
- START_OBSERVING_GAME = 160,
- GET_CREATE_GAME_INFO = 162,
- CREATE_GAME = 163,
- JOIN_GAME = 164,
- SPECTATE_GAME = 165,
- LEAVE_GAME = 167,
- KICK_USER = 168,
- START_GAME = 170,
- GAME_INTERACT = 171,
- PLAY_AGAIN = 172,
- GetSessionParameters = 181,
- GetInterstitial = 182,
- CONVERT_FURNI_TO_CREDITS = 183,
- SCR_BUY = 190,
- MESSENGER_GETMESSAGES = 191,
- Pong = 196,
- APPROVEEMAIL = 197,
- CHANGECALLCATEGORY = 198,
- MESSAGETOCALLER = 199,
- MODERATORACTION = 200,
- MESSENGER_REPORTMESSAGE = 201,
- GenerateSecretKey = 202,
- APPROVE_PASSWORD = 203,
- SSOTicket = 204,
- InitCrypto = 206,
- GET_FURNI_REVISIONS = 213,
- SETITEMSTATE = 214,
- GetFurnitureAliases = 215,
- SONG_EDIT_LOAD = 217,
- SAVESONG = 218,
- INSERT_SOUND_PACKAGE = 219,
- EJECT_SOUND_PACKAGE = 220,
- GET_SONG_INFO = 221,
- GET_GROUP_BADGES = 230,
- MESSENGER_GETREQUESTS = 233,
- SONG_EDIT_CLOSE = 246,
- GetUserTags = 263,
- StartTyping = 317,
- CancelTyping = 318
- }
- }
- using Woodpecker.Communication.Interfaces;
- using Woodpecker.Communication.Messages.Incoming.Requests.Global;
- namespace Woodpecker.Communication.Messages.Incoming.RequestCollections
- {
- public class GlobalCollection : IMessageCollection
- {
- private IMessageRequest[] Events;
- public GlobalCollection()
- {
- Events = new IMessageRequest[]
- {
- new ApproveNameMessageRequest(),
- new GetDatetimeMessageRequest(),
- new PongMessageRequest()
- };
- }
- public IMessageRequest[] getMessages()
- {
- return Events;
- }
- }
- }
- using Woodpecker.Core;
- using Woodpecker.Sessions;
- using Woodpecker.Game.Items;
- using Woodpecker.Game.Users;
- using Woodpecker.Communication.Headers;
- using Woodpecker.Communication.Interfaces;
- using Woodpecker.Communication.Messages.Outgoing.Composers.Availability;
- using Woodpecker.Communication.Messages.Outgoing.Composers.Handshake;
- using Woodpecker.Communication.Messages.Outgoing.Composers.Moderation;
- namespace Woodpecker.Communication.Messages.Incoming.Requests.Handshake
- {
- public class SSOTicketMessageRequest : IMessageRequest
- {
- public MessageRequestIds ID()
- {
- return MessageRequestIds.SSOTicket;
- }
- public void Parse(Session Session, ClientMessage Request)
- {
- const string SSOTicket = "WP-Test123"; //Request.getParameter(0);
- userInformation userDetails = Archimedes.Game.Users.getUserInfoByTicket(SSOTicket);
- if (userDetails == null) // User not found
- {
- Logging.Log("Borked SSO Ticket! - " + SSOTicket);
- Session.gameConnection.sendLocalizedError("Login incorrect: Invalid SSO ticket");
- Archimedes.Sessions.destroySession(Session.ID);
- }
- else
- {
- Session.User = userDetails;
- string banReason;
- if (Archimedes.Game.Moderation.isBanned(Session.User.ID, out banReason))
- {
- Session.isValid = false;
- Session.gameConnection.sendMessage(UserBannedMessageComposer.Compose(banReason));
- return;
- }
- Archimedes.Sessions.destroySessions(Session.User.ID); // Destroy previous sessions
- Session.User.sessionID = Session.ID;
- Session.Access.userID = Session.User.ID;
- Session.Access.Update();
- Session.User.updateLastActivity();
- Session.User.updateClub(false);
- Session.gameConnection.messageHandler.unRegister(MessageCollections.handshakeCollection); // Unregister the login reactor
- Archimedes.Game.Users.addUserSession(Session);
- Session.gameConnection.messageHandler.Register(MessageCollections.userCollection); // Register a userReactor
- Session.gameConnection.messageHandler.Register(MessageCollections.storeCollection); // Register a storeReactor
- Session.gameConnection.messageHandler.Register(MessageCollections.navigatorCollection); // Register a navigatorReactor
- if (Session.User.hasFuseRight("fuse_moderator_access"))
- {
- Session.gameConnection.messageHandler.Register(MessageCollections.moderationCollection); // Register a moderationReactor
- }
- Session.refreshFuseRights();
- Session.gameConnection.sendMessage(AvailabilityStatusMessageComposer.Compose()); // "Db" (idk??)
- Session.gameConnection.sendMessage(AuthenticationOKMessageComposer.Compose()); // "@C" (login OK)
- Session.itemStripHandler = new itemStripHandler(Session.User.ID); // Load hand items etc
- Logging.Log("User '" + Session.User.Username + "' [id: " + Session.User.ID + "] with role '" + Session.User.Role + "' logged in.");
- return;
- }
- Archimedes.Sessions.destroySession(Session.ID);
- }
- }
- }
Add Comment
Please, Sign In to add comment