# `QuakeServer.Extensions`
[🔗](https://github.com/jaman/quake_server/blob/v0.1.0/lib/quake_server/extensions.ex#L1)

The builtins of an FTE server program: Quake's (`QuakeServer.Builtins`) and FTE's
extensions to them, by number and, for builtins a program binds by name, by name.

    QuakeServer.Server.start("c1a0", source: MyGame.Source, builtins: QuakeServer.Extensions)

The families: strings (`Strings`, `Format`), recoding (`Encoding`: `strconv`,
`strlennocol`, `strdecolorize`, `crc16`, `uri_escape`, `uri_unescape`, `argescape`,
`digest_hex`, `digest_ptr`, `base64encode`, `base64decode`, `ftou`, `utof`), maths
(`Maths`), entities (`Things`), entity text (`EntityText`: `generateentitydata`,
`writetofile`, `parseentitydata`, `loadfromdata`, `loadfromfile`, `find_list`,
`entityprotection`), console variables, info keys and reflection (`Settings`),
`abort` and `checkcommand` (`Control`), storage (`Store`: hash tables, memory, files,
searches, string buffers), memory as bytes (`Memory`: `createbuffer`, `memrealloc`,
`memcmp`, `memstrsize`), files (`Files`: `fwrite`, `search_getfilemtime`,
`search_fopen`, `fcopy`, `frename`, `fexists`, `rmtree`), string buffers (`Buffers`:
`buf_copy`, `buf_sort`, `bufstr_find`, `buf_loadfile`, `buf_writefile`), JSON
(`Json`), the network (`Web`: `uri_get`, `uri_post`, `netaddress_resolve`,
`sendpacket`), effects, messages, routes, movement, lights, polygons, levels and
models.

A builtin neither knows raises `QuakeC.Exec.Error`.

# `call`

```elixir
@spec call(map(), integer() | String.t(), non_neg_integer()) :: map()
```

Run builtin `builtin`, a number or a name, with `argc` arguments.

# `known?`

```elixir
@spec known?(integer() | String.t() | nil) :: boolean()
```

Whether `builtin` is one this module runs.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
