Exemple #1
0
        internal GameSocket(ServerChildTcpSocket socket, GameSocketProtocol protocol)
        {
            _internalSocket = socket;
            _lengthBuffer   = new byte[protocol.Reader.LengthBytes];

            Habbo = HabboDistributor.GetPreLoginHabbo(this);
        }
        /// <summary>
        ///   Called when the plugin is started.
        /// </summary>
        public override void Start(EventFirer eventFirer)
        {
            EventFirer = eventFirer;

            IPAddress ipAddress = CoreManager.ServerCore.Config.GetValue("r36:bindip", IPAddress.Any).Value;
            ushort    port      = CoreManager.ServerCore.Config.GetValue <ushort>("r36:bindport", 14478).Value;

            GameSocketProtocol r36Protocol = new GameSocketProtocol(new ClassicGameSocketReader(), 36);

            GameSocketManager = CoreManager.ServerCore.NewGameSocketManager("R36", ipAddress, port, r36Protocol);
            GameSocketManager.Start();


            CoreManager.ServerCore.EventManager.StrongBind <GameSocketEventArgs>("incoming_game_connection:after", AcceptConnection);
            CoreManager.ServerCore.EventManager.WeakBind <GameSocketEventArgs>("incoming_game_connection:after", RegisterLoginHandlers);
            CoreManager.ServerCore.EventManager.WeakBind <HabboEventArgs>("habbo_login:after", ConfirmLogin);
            CoreManager.ServerCore.EventManager.WeakBind <HabboEventArgs>("habbo_login:after", SendFuserights);
        }
Exemple #3
0
        public GameSocketManager NewGameSocketManager(string socketManagerName, IPAddress ipAddress, ushort port, GameSocketProtocol protocol)
        {
            GameSocketManager gameSocketManager = new GameSocketManager
            {
                Address  = IPAddress.Any,
                Port     = port,
                Protocol = protocol
            };

            CancelEventArgs args = new CancelEventArgs();

            OfficalEventFirer.Fire("gamesocketmanager_added", EventPriority.Before, gameSocketManager, args);

            if (args.Cancel)
            {
                return(null);
            }

            GameSocketManagers.Add(socketManagerName, gameSocketManager);
            OfficalEventFirer.Fire("gamesocketmanager_added", EventPriority.Before, gameSocketManager, args);
            return(gameSocketManager);
        }
Exemple #4
0
 public GameSocketManager NewGameSocketManager(string protocolName, ushort port, GameSocketProtocol protocol)
 {
     return(NewGameSocketManager(protocolName, IPAddress.Any, port, protocol));
 }
Exemple #5
0
 public GameSocketManager NewGameSocketManager(string protocolName, IPEndPoint ipEndpoint, GameSocketProtocol protocol)
 {
     return(NewGameSocketManager(protocolName, ipEndpoint.Address, (ushort)ipEndpoint.Port, protocol));
 }
Exemple #6
0
        public GameSocketManager NewGameSocketManager(string socketManagerName, IPAddress ipAddress, ushort port, GameSocketProtocol protocol)
        {
            GameSocketManager gameSocketManager = new GameSocketManager
            {
                Address  = IPAddress.Any,
                Port     = port,
                Protocol = protocol
            };

            GameSocketManagerEventArgs eventArgs = new GameSocketManagerEventArgs(gameSocketManager, socketManagerName);

            OfficalEventFirer.Fire("gamesocket_manager_added:before", eventArgs);
            if (eventArgs.IsCancelled)
            {
                return(null);
            }
            GameSocketManagers.Add(socketManagerName, gameSocketManager);
            OfficalEventFirer.Fire("gamesocket_manager_added:after", eventArgs);

            return(gameSocketManager);
        }