classicborne-server-protocol
    Preparing search index...

    Class Client

    I represent a client to act on a Server instance.
    Server initializes me on any connection attempt, so I may not be a valid Minecraft Classic client. If my socket doesn't respond back regarding authentication, the Server will destroy me and send my socket a kick message, assuming my socket is a Classic client. Otherwise the kick message text is somewhat readable.

    But if authentication succeeds, the server will emit a "clientConnected" event. This by itself won't do much because I still need an implementation of Minecraft Classic. Whoever seeing this can interpret that as they will. It's never argued what makes a Minecraft Classic server. But based on other implementations, it's based on using all available packets, such as chat messages, level downloads and block changes. classicborne-server-protocol is intended to be a low-level network library, so it doesn't come with Minecraft-like systems. For a batteries included server software, check out classicborne.

    My socket may be either TCP or WebSocket-based. It will be expected that the network layer used will be whatever. For this reason, I provide Client#address for getting the socket's address.

    Right now, my packets are handled by the server class. But it is expected that this may change later.

    Hierarchy

    • TypedEmitter
      • Client
    Index

    Constructors

    Properties

    address: any

    The remote address of the client. This can be either the TCP socket address or the address resolved on WebSocket. For WebSockets, it's based on trust. There's the ClassiCube proxy and all of its forwarded addresses are trusted and will be used as the address. But if a proxy isn't trusted, it assumes that the proxy is a client and uses the proxy's address instead.

    appName: string
    authed: boolean
    cpeExtensions: extension[]

    Use Client#extensions.

    cpeExtensionsCount: number
    cpeNegotiating: boolean
    extensions: ExtensionManager
    getChecked: boolean
    httpRequest: any
    packetHandlers: Map<number, BasePacketHandler>
    server: Server
    socket: Socket | SocketImpostor
    usingWebSocket: boolean
    defaultMaxListeners: number
    environmentProperties: string[] = ...

    Use the static property using LevelEnvironment.environmentProperties instead.

    Methods

    • Parameters

      • id: any
      • x: any
      • y: any
      • z: any
      • yaw: any
      • pitch: any

      Returns void

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Parameters

      • id: any
      • username: any
      • listName: any
      • groupName: string = ""
      • groupOrder: number = 0

      Returns void

      Use extension instead.

    • Parameters

      • id: any
      • username: any
      • x: any
      • y: any
      • z: any
      • yaw: any
      • pitch: any

      Returns void

    • Parameters

      • id: any
      • username: any
      • x: any
      • y: any
      • z: any
      • yaw: any
      • pitch: any
      • skin: any

      Returns void

      Use extension instead.

    • Parameters

      • level: any

      Returns void

      Use extension instead.

    • Parameters

      • block: any

      Returns void

      Use extension instead.

    • Parameters

      • block: any

      Returns void

      Use extension instead.

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • ...args: Parameters<
            { close: () => void; extensions: (extensions: extension[]) => void }[U],
        >

      Returns boolean

    • Type Parameters

      • U extends "extensions" | "close"

      Returns U[]

    • Parameters

      • id: number
      • x: number
      • y: number
      • z: number
      • yaw: number
      • pitch: number
      • teleportBehavior: TeleportBehavior

      Returns void

      Use extension instead.

    • Returns number

    • Parameters

      • type: "extensions" | "close"

      Returns number

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • type: U

      Returns { close: () => void; extensions: (extensions: extension[]) => void }[U][]

    • Parameters

      • data: any
      • x: any
      • y: any
      • z: any
      • processed: boolean = false
      • callback: any
      • preFinalize: any

      Returns Promise<void>

    • Parameters

      • message: any
      • messageType: number = -1
      • continueAdornment: string = ">"

      Returns void

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • type: U

      Returns { close: () => void; extensions: (extensions: extension[]) => void }[U][]

    • Parameters

      • Optionalevent: "extensions" | "close"

      Returns this

    • Parameters

      • blockId: any

      Returns void

      Use extension instead.

    • Type Parameters

      • U extends "extensions" | "close"

      Parameters

      • event: U
      • listener: { close: () => void; extensions: (extensions: extension[]) => void }[U]

      Returns this

    • Parameters

      • id: any

      Returns void

      Use extension instead.

    • Parameters

      • serverName: any
      • motd: any
      • userType: any

      Returns void

    • Parameters

      • type: any
      • x: any
      • y: any
      • z: any

      Returns void

    • Parameters

      • id: any
      • allowPlacement: any
      • allowDeletion: any

      Returns void

      Use extension instead.

    • Parameters

      • distance: any

      Returns void

      Use extension instead.

    • Parameters

      • id: any
      • propertyType: any
      • value: any

      Returns void

      Use extension instead.

    • Parameters

      • environment: any

      Returns void

      Use extension instead.

    • Parameters

      • blockId: any
      • hotbarIndex: any

      Returns void

      Use extension instead.

    • Parameters

      • id: any
      • order: any

      Returns void

      Use extension instead.

    • Parameters

      • n: number

      Returns this

    • Parameters

      • url: any

      Returns void

      Use extension instead.

    • Parameters

      • userType: any

      Returns void