Class: net_packet
Read/write network packet used by server entities and events.
Reading methods advance the read cursor. Writing methods append to the packet unless the method name says otherwise.
Source
C++ class net_packet
Custom Constructor
net_packet
Remarks
Packet reads are positional. Use r_tell, r_seek, r_elapsed, and r_eof when reading mixed payloads. Native packets are capped at 16 KB and assert on read/write overruns.
Constructors
Constructor
new net_packet(): net_packet;Create an empty packet.
Returns
net_packet
Methods
r_advance()
r_advance(size: number): void;Advance the read cursor.
Parameters
| Parameter | Type | Description |
|---|---|---|
size | number | Number of bytes to skip. |
Returns
void
Remarks
Does not read skipped bytes. Native code verifies that the new cursor stays inside the packet.
r_angle16()
r_angle16(value: number): void;Read a 16-bit compressed angle into a placeholder.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Output placeholder. |
Returns
void
Remarks
Angles use the same 0..2 * PI range as w_angle16.
r_angle8()
r_angle8(value: number): void;Read an 8-bit compressed angle into a placeholder.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Output placeholder. |
Returns
void
Remarks
Angles use the same 0..2 * PI range as w_angle8.
r_begin()
r_begin(type: number): number;Read packet message header.
Parameters
| Parameter | Type | Description |
|---|---|---|
type | number | Output placeholder for message type. |
Returns
number
Packet receive time.
Remarks
Resets the read cursor to the packet start before reading the message type.
r_bool()
r_bool(): boolean;Read boolean value.
Returns
boolean
Boolean value.
Remarks
Booleans are serialized as one byte.
r_clientID()
r_clientID(): ClientID;Read client id.
Returns
Client id.
r_dir()
r_dir(vector: vector): void;Read a compressed direction vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | vector | Vector to fill. |
Returns
void
r_elapsed()
r_elapsed(): number;Get unread byte count.
Returns
number
Remaining bytes.
r_eof()
r_eof(): boolean;Check whether the read cursor reached the end.
Returns
boolean
Whether packet is fully read.
r_float()
Call Signature
r_float(): number;Read float value.
Returns
number
Float value.
Call Signature
r_float(value: number): number;Read float value through a Lua-style placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Float value.
r_float_q16()
r_float_q16(
min: number,
max: number,
value: number): number;Read a 16-bit quantized float.
Parameters
| Parameter | Type | Description |
|---|---|---|
min | number | Minimum decoded value. |
max | number | Maximum decoded value. |
value | number | Placeholder value. |
Returns
number
Decoded float.
Remarks
Use the same min and max that were used when writing the value.
r_float_q8()
r_float_q8(
min: number,
max: number,
value: number): number;Read an 8-bit quantized float.
Parameters
| Parameter | Type | Description |
|---|---|---|
min | number | Minimum decoded value. |
max | number | Maximum decoded value. |
value | number | Placeholder value. |
Returns
number
Decoded float.
Remarks
Use the same min and max that were used when writing the value.
r_matrix()
r_matrix(matrix: matrix): matrix;Read matrix data.
Parameters
| Parameter | Type | Description |
|---|---|---|
matrix | matrix | Matrix to fill. |
Returns
Filled matrix.
r_s16()
Call Signature
r_s16(): number;Read signed 16-bit integer.
Returns
number
Signed 16-bit integer.
Call Signature
r_s16(value: number): number;Read signed 16-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Signed 16-bit integer.
r_s32()
Call Signature
r_s32(): number;Read signed 32-bit integer.
Returns
number
Signed 32-bit integer.
Call Signature
r_s32(value: number): number;Read signed 32-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Signed 32-bit integer.
r_s64()
Call Signature
r_s64(): number;Read signed 64-bit integer.
Returns
number
Signed 64-bit integer.
Call Signature
r_s64(value: number): number;Read signed 64-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Signed 64-bit integer.
r_s8()
Call Signature
r_s8(): number;Read signed 8-bit integer.
Returns
number
Signed 8-bit integer.
Call Signature
r_s8(value: number): number;Read signed 8-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Signed 8-bit integer.
r_sdir()
r_sdir(vector: vector): void;Read a signed compressed direction vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | vector | Vector to fill. |
Returns
void
r_seek()
r_seek(offset: number): void;Move read cursor to an absolute byte offset.
Parameters
| Parameter | Type | Description |
|---|---|---|
offset | number | Byte offset. |
Returns
void
Remarks
The engine allows seeking to the packet end. Offsets beyond the written byte count fail native verification.
r_stringZ()
r_stringZ<T>(): T;Read zero-terminated string.
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends string | string |
Returns
T
String value.
Remarks
Advances past the trailing zero byte.
r_tell()
r_tell(): number;Get current read cursor offset.
Returns
number
Byte offset.
r_u16()
Call Signature
r_u16(): number;Read unsigned 16-bit integer.
Returns
number
Unsigned 16-bit integer.
Call Signature
r_u16(value: number): number;Read unsigned 16-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Unsigned 16-bit integer.
r_u32()
Call Signature
r_u32(): number;Read unsigned 32-bit integer.
Returns
number
Unsigned 32-bit integer.
Call Signature
r_u32(value: number): number;Read unsigned 32-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Unsigned 32-bit integer.
r_u64()
Call Signature
r_u64(): number;Read unsigned 64-bit integer.
Returns
number
Unsigned 64-bit integer.
Call Signature
r_u64(value: number): number;Read unsigned 64-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Unsigned 64-bit integer.
r_u8()
Call Signature
r_u8(): number;Read unsigned 8-bit integer.
Returns
number
Unsigned 8-bit integer.
Call Signature
r_u8(value: number): number;Read unsigned 8-bit integer through a placeholder overload.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Placeholder value. |
Returns
number
Unsigned 8-bit integer.
r_vec3()
r_vec3(vector: vector): void;Read 3D vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | vector | Vector to fill. |
Returns
void
w_angle16()
w_angle16(value: number): void;Write a 16-bit compressed angle.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Angle in radians. |
Returns
void
Remarks
The engine normalizes the angle and stores it as a 16-bit quantized value over 0..2 * PI.
w_angle8()
w_angle8(value: number): void;Write an 8-bit compressed angle.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Angle in radians. |
Returns
void
Remarks
The engine normalizes the angle and stores it as an 8-bit quantized value over 0..2 * PI.
w_begin()
w_begin(type: number): void;Start packet with message type.
Parameters
| Parameter | Type | Description |
|---|---|---|
type | number | Message type. |
Returns
void
Remarks
Clears existing packet contents before writing the message type.
w_bool()
w_bool(value: boolean): void;Write boolean value.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | boolean | Boolean value. |
Returns
void
Remarks
Booleans are serialized as one byte.
w_chunk_close16()
w_chunk_close16(marker: number): void;Close a 16-bit size-prefixed chunk.
Parameters
| Parameter | Type | Description |
|---|---|---|
marker | number | Chunk marker returned by w_chunk_open16. |
Returns
void
Remarks
The chunk payload must fit into 65535 bytes.
w_chunk_close8()
w_chunk_close8(marker: number): void;Close an 8-bit size-prefixed chunk.
Parameters
| Parameter | Type | Description |
|---|---|---|
marker | number | Chunk marker returned by w_chunk_open8. |
Returns
void
Remarks
The chunk payload must fit into 255 bytes.
w_chunk_open16()
w_chunk_open16(marker: number): void;Open a 16-bit size-prefixed chunk.
Parameters
| Parameter | Type | Description |
|---|---|---|
marker | number | Output placeholder for chunk marker. |
Returns
void
Remarks
Writes a placeholder size at the current write cursor. Pass the returned marker to w_chunk_close16.
w_chunk_open8()
w_chunk_open8(marker: number): void;Open an 8-bit size-prefixed chunk.
Parameters
| Parameter | Type | Description |
|---|---|---|
marker | number | Output placeholder for chunk marker. |
Returns
void
Remarks
Writes a placeholder size at the current write cursor. Pass the returned marker to w_chunk_close8.
w_clientID()
w_clientID(client_id: ClientID): void;Write client id.
Parameters
| Parameter | Type | Description |
|---|---|---|
client_id | ClientID | Client id. |
Returns
void
w_dir()
w_dir(vector: vector): void;Write compressed direction vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | vector | Direction vector. |
Returns
void
w_float()
w_float(value: number): void;Write float value.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Float value. |
Returns
void
w_float_q16()
w_float_q16(
value: number,
min: number,
max: number): void;Write a 16-bit quantized float.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Value to write. |
min | number | Minimum encoded value. |
max | number | Maximum encoded value. |
Returns
void
Remarks
Native code verifies that value is inside [min, max].
w_float_q8()
w_float_q8(
value: number,
min: number,
max: number): void;Write an 8-bit quantized float.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Value to write. |
min | number | Minimum encoded value. |
max | number | Maximum encoded value. |
Returns
void
Remarks
Native code verifies that value is inside [min, max].
w_matrix()
w_matrix(matrix: matrix): void;Write matrix data.
Parameters
| Parameter | Type | Description |
|---|---|---|
matrix | matrix | Matrix to write. |
Returns
void
w_s16()
w_s16(value: number): void;Write signed 16-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Signed 16-bit integer. |
Returns
void
w_s32()
w_s32(value: number): void;Write signed 32-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Signed 32-bit integer. |
Returns
void
w_s64()
w_s64(value: number): void;Write signed 64-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Signed 64-bit integer. |
Returns
void
w_sdir()
w_sdir(vector: vector): void;Write signed compressed direction vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | vector | Direction vector. |
Returns
void
w_stringZ()
w_stringZ(value: Nillable<string>): void;Write zero-terminated string.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | Nillable<string> | String value. |
Returns
void
Remarks
The binding writes the string bytes followed by \0.
w_tell()
w_tell(): number;Get current write cursor offset.
Returns
number
Byte offset.
w_u16()
w_u16(value: number): void;Write unsigned 16-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Unsigned 16-bit integer. |
Returns
void
w_u32()
w_u32(value: number): void;Write unsigned 32-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Unsigned 32-bit integer. |
Returns
void
w_u64()
w_u64(value: number): void;Write unsigned 64-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Unsigned 64-bit integer. |
Returns
void
w_u8()
w_u8(value: number): void;Write unsigned 8-bit integer.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | number | Unsigned 8-bit integer. |
Returns
void
w_vec3()
w_vec3(vector: vector): void;Write 3D vector.
Parameters
| Parameter | Type | Description |
|---|---|---|
vector | vector | Vector to write. |
Returns
void