Common
Common logging, networking, compression, and other miscellaneous functionality for RuneJS.
Exported Modules
@runejs/common
-
logger
is exported as a singleton Pino logging wrapper.- Methods:
logger.info(...messages: any[])
logger.debug(...messages: any[])
logger.warn(...messages: any[])
logger.error(...messages: any[])
logger.trace(...messages: any[])
logger.fatal(...messages: any[])
logger.destination(logDir: string)
logger.setOptions(options: Pino.LoggerOptions)
logger.setPrettyPrint(prettyPrint: boolean)
logger.setTimeFormat(format: TimeFn)
- Methods:
-
ByteBuffer
is also exported at the root level.- Node
Uint8Array
wrapper with additional utility functions. - Unified configurable
get
andput
methods to easily move bytes within the buffer. - Int24, Smart, Long and String type support.
- Big endian, little endian, and mixed endian support.
- Bit access through
openBitBuffer()
,putBits()
, andcloseBitBuffer()
- Node
@runejs/common/color
Handles various color conversions needed by the game and tooling.
RGB(A)
-
HSL
(Hue, Saturation, Lightness) -
HSV
(Hue, Saturation, Value/Brightness) -
HCL
(Hue, Chroma, Luminance) -
LAB
(Lightness, A, B)
@runejs/common/compress
- Exported class
Gzip
handles Gzip compression and decompression. - Exported class
Bzip2
handles Bzip2 compression and decompression.
@runejs/common/crc32
Exports a single class Crc32
that generates CRC32 checksums for binary data files.
@runejs/common/encrypt
Provides XTEA encryption and decryption functionality, as well as a key file loader.
- Exported as class
Xtea
@runejs/common/net
-
SocketServer
- Handles connections made to a RuneJS socket server.
-
SocketServer.launch(serverName, hostName, port, connectionHandlerFactory)
- Spins up a new Node Socket server with the specified host and port.
-
ServerConfigOptions
- Options for a configured Socket server, imported using the
parseServerConfig()
function.
- Options for a configured Socket server, imported using the