# CyberM.net — client runtime

Runs inside the game process. Reads and presentation are local; anything that changes shared state has to go through the server.

2 functions.

## emitServer

```lua
CyberM.net.emitServer(event, [payload])
```

`NETWORK` — Uses the network backend.

Sends an event to the server.

Alias of `TriggerServerEvent`: sends a bounded, serializable event payload to the authenticated server session. The current resource must declare `network.events`.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `event` | `string` | required | — |
| `payload` | `table` | optional | — |

Returns: `boolean`

Registered in `ResourceHost.cpp` (line 6563) as `LuaTriggerServerEvent`.

## on

```lua
CyberM.net.on(event, handler)
```

`NETWORK` — Uses the network backend.

Listens for an event coming from the server.

Registers an authenticated incoming server event and its callback for the current resource generation. It is the namespaced equivalent of `RegisterNetEvent` and requires `network.events`.

| Parameter | Type | Required | Default |
|---|---|---|---|
| `event` | `string` | required | — |
| `handler` | `function` | required | — |

Returns: `handler id`

Registered in `ResourceHost.cpp` (line 6562) as `LuaRegisterNetEvent`.

