Skip to main content

Post-Login

Batch of state packets sent by the server after Authenticated (2491). The client must handle them in whatever order they arrive.

S→C 2875 - UserHomeRoom​

Delivers the user's configured home room and room to auto-enter on login.

Body:
homeRoomId: int User's configured home room ID

S→C 340 - UserEffects​

Delivers the user's current avatar effect inventory. Each entry includes the effect ID, type, remaining duration in seconds (−1 = permanent), and whether it is currently activated.

Body:
count: int
[count entries]:
effectId: int
effectType: int
timeRemaining: int (seconds; -1 = permanent)

S→C 411 - UserPermissions​

Delivers the user's permission flags: rank, ambassadorship, and whether mod tools are accessible.

Body:
subscriptionType: int 0 = no club, 1 = club, 2 = VIP
rankLevel: int User's rank/permission level (from permissions table)

S→C 2033 - AvailabilityStatus​

Delivers server availability flags (maintenance mode, authentication status, beta status) used to gate client features.

Body:
isOpen: boolean Hotel is open (true)
isShuttingDown: boolean Hotel shutting down (false)

S→C 3284 - NotificationsStatus​

Configures whether the client should display bubble notification alerts.

Body: (empty)

S→C 1968 - UserAchievementScore​

Delivers the user's total achievement score as a single integer. Sent during the post-login burst.

Body: (empty)

S→C 793 - FirstLoginOfDay​

Notifies the client whether this is the user's first login of the current day, used to trigger daily reward flows.

Body: (empty)

S→C 954 - UserSubscription​

Arcturus: UserClubComposer Nitro: USER_SUBSCRIPTION / UserSubscriptionParser

Delivers the subscription details for the user. Includes days remaining, total periods subscribed, VIP status, and minutes until expiration. Sent on login, on purchase, and whenever the subscription changes.

Body:
subscriptionCode: string e.g. "habbo_club"
remainingDays: int Days remaining in current period
memberPeriods: int Total periods subscribed
periodsSubscribedAhead: int Prepaid future periods
responseType: int 0=normal, 1=login, 2=purchase, 3=discount, 4=citizenship
hasEverBeenMember: boolean
isVip: boolean
pastSubscriptionDays: int
pastVipDays: int
minutesTillExpiration: int