Skip to main content

server

Functions

SetPersistent

server.SetPersistent(
ttable | buffer,
stateboolean
) → ()

Sets whether the provided table or buffer is persistent in syncdata even if not replicated to anyone.
This should be used for tables you know are guaranteed to be replicated. so that you have a safety guarantee that Syncee's api wont error on it.

SetSchema

server.SetSchema(
ttable,
schema(number | string)?
) → ()

Registers the provided schema to be used for the given table, nil can be provided to remove the schema.
This doesn't need the value to be already in Syncee's registry.

If the schema has sub-schemas, they will be automatically applied to any table present within if they don't have a schema assigned already.

SetRatelimit

server.SetRatelimit(
ttable | buffer,
ratelimitnumber?
) → ()

Limits the rate of replication for the provided table to atleast 'n' seconds between each replication.
This doesn't need the value to be already in syncee's registry.

Note that this only applies to the provided table/buffer.

Replicate

server.Replicate(
ttable,
keyany
) → ()

Replicates the value of the provided key, even if not changed.

ReplicateBufferRegion

server.ReplicateBufferRegion(
bufbuffer,
startnumber,
lengthnumber
) → ()

Marks a region of a buffer for delta replication.

Set

server.Set(
ttable,
keyany,
valueany
) → ()

Sets 'key' of 't' to 'value', replicates the change then fires TableChangedSignal if present.

GetDataToReplicate

server.GetDataToReplicate() → {[Player]buffer}

Returns a dictionary mapping each player to a buffer containing the data to replicate to them.

MarkPlayerLoaded

server.MarkPlayerLoaded(playerPlayer) → ()

Marks the given player as loaded and begins replicating the data to them.

GetProxy

server.GetProxy(ttable) → table

Returns a proxy for the provided table that automatically runs Syncee.server.Set() upon any changes.

ProxyToTable

server.ProxyToTable(proxytable) → table?

Returns the original table that this proxy is bound to, if it exists.

Clear

server.Clear(ttable) → ()

table.clear(), but replicates the changes if on server. Does not fire change signal.

Insert

server.Insert(
ttable,
posOrValueany,
valueany?
) → ()

table.insert(), but replicates the changes if on server and fires change signal.

Remove

server.Remove(
ttable,
posnumber?
) → any

table.remove(), but replicates the changes if on server and fires change signal.

GetRecipients

server.GetRecipients(ttable | buffer) → {Player}

Returns the players this table/buffer is replicated to.

Show raw api
{
    "functions": [
        {
            "name": "SetPersistent",
            "desc": "Sets whether the provided table or buffer is persistent in syncdata even if not replicated to anyone.\\\nThis should be used for tables you know are guaranteed to be replicated. so that you have a safety guarantee that Syncee's api wont error on it.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table | buffer"
                },
                {
                    "name": "state",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 90,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "SetSchema",
            "desc": "Registers the provided schema to be used for the given table, nil can be provided to remove the schema.\\\nThis doesn't need the value to be already in Syncee's registry.\n\nIf the schema has sub-schemas, they will be automatically applied to any table present within if they don't have a schema assigned already.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                },
                {
                    "name": "schema",
                    "desc": "",
                    "lua_type": "(number | string)?"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 101,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "SetRatelimit",
            "desc": "Limits the rate of replication for the provided table to atleast 'n' seconds between each replication.\\\nThis doesn't need the value to be already in syncee's registry.\\\n\\\nNote that this only applies to the provided table/buffer.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table | buffer"
                },
                {
                    "name": "ratelimit",
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 112,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "Replicate",
            "desc": "Replicates the value of the provided key, even if not changed.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 118,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "ReplicateBufferRegion",
            "desc": "Marks a region of a buffer for delta replication.",
            "params": [
                {
                    "name": "buf",
                    "desc": "",
                    "lua_type": "buffer"
                },
                {
                    "name": "start",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "length",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 125,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "Set",
            "desc": "Sets 'key' of 't' to 'value', replicates the change then fires TableChangedSignal if present.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "any"
                },
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 132,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "GetDataToReplicate",
            "desc": "Returns a dictionary mapping each player to a buffer containing the data to replicate to them.",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "{[Player]: buffer}"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 137,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "MarkPlayerLoaded",
            "desc": "Marks the given player as loaded and begins replicating the data to them.",
            "params": [
                {
                    "name": "player",
                    "desc": "",
                    "lua_type": "Player"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 142,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "GetProxy",
            "desc": "Returns a proxy for the provided table that automatically runs Syncee.server.Set() upon any changes.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "table"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 148,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "ProxyToTable",
            "desc": "Returns the original table that this proxy is bound to, if it exists.",
            "params": [
                {
                    "name": "proxy",
                    "desc": "",
                    "lua_type": "table"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "table?"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 154,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "Clear",
            "desc": "table.clear(), but replicates the changes if on server. Does not fire change signal.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 159,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "Insert",
            "desc": "table.insert(), but replicates the changes if on server and fires change signal.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                },
                {
                    "name": "posOrValue",
                    "desc": "",
                    "lua_type": "any"
                },
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any?"
                }
            ],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 166,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "Remove",
            "desc": "table.remove(), but replicates the changes if on server and fires change signal.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table"
                },
                {
                    "name": "pos",
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 173,
                "path": "docs_luau/moonwave.luau"
            }
        },
        {
            "name": "GetRecipients",
            "desc": "Returns the players this table/buffer is replicated to.",
            "params": [
                {
                    "name": "t",
                    "desc": "",
                    "lua_type": "table | buffer"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "{Player}"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 179,
                "path": "docs_luau/moonwave.luau"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "server",
    "desc": "",
    "source": {
        "line": 81,
        "path": "docs_luau/moonwave.luau"
    }
}