Extended Networking

Library

A library that simplifies networking

extended updated 5mo ago 0 MB engine 25
Extended Networking

Extended Networking
adds RpcX-attributed RPCs for s&box with explicit who receives (RpcTarget) and who may call (RpcSender). Both are flags: you can combine several targets (e.g. host and owner) and several allowed senders (e.g. host or owner) in one attribute. That keeps sensitive logic off arbitrary clients and supports security and anti-cheat: rules are checked when sending and again on receive; bad method identity, target, caller, or arguments are rejected, and in non-DEBUG builds invalid callers are kicked. AdminSystem adds an admin list (host is always admin) for RpcTarget.Admin / RpcSender.Admin.

Admin-scoped targets integrate with AdminSystem (SteamId-based admin set, host treated as admin). Admin list can be synced to joining clients and persisted via storage helpers in that system.

Limitation:
RpcX is always reliable
Limitation: RpcX does not support generic methods yet — use non-generic RPCs only.

Future Updates: Add async Rpcs and Sync attribute

Recipient filters:
RpcX.FilterInclude / RpcX.FilterExclude 

Admin commands (
AdminSystem)
add_admin <steamId> | Add a player to the admin set.
remove_admin <steamId> | Remove from the admin set.
clear_admins | Clear all admins (host still counts as admin).
is_admin <steamId> | Log whether that Steam ID is in the admin set.
list_admins | Log all stored admin Steam IDs.
save_admins | Persist admins to storage (admins.json).
load_admins | Load admins from storage.
auto_load_admins [bool] | Read or set auto_load_admins: when enabled, admins load when the system starts.

Usage sketch
[RpcX.Broadcast(RpcSender.Host | RpcSender.Owner)]
public void HostOrOwnerMayCallEveryoneHears()
{
}

[RpcX.Broadcast(RpcSender.Admin)]
public void AdminOrHostMayCallEveryoneHears()
{
}


[RpcX(RpcTarget.Host | RpcTarget.Owner, RpcSender.Owner)]
public void OwnerCallsHostAndOwnerReceive()
{
}

using (RpcX.FilterExclude(Connection.Local))
    SomeBroadcastRpc();
No usage statistics available
This package may be new or not widely used yet. Usage data becomes available as more users install and play with the package.
0 recorded entries
Rank Player Score Recorded
refresh
Discovering package leaderboards...
Package ID: extended.extendednetworking
Created: 2026-05-05 23:56 UTC
Updated: 2026-05-06 00:08 UTC
Type: library
Public: Yes
Version: 231266
files: 9
Size: 0.0 MB
Engine Version: 25
Asset Version ID: 231266
Version Created: 2026-05-06 00:08 UTC
Hash: -2389716302481957934
Manifest: Open manifest

more_horiz Additional Properties

Compiler: {"RootNamespace":"ExtendedNetworking","DefineConstants":"SANDBOX","NoWarn":"1701;1702;1591;","WarningsAsErrors":"","TreatWarningsAsErrors":false,"Nullables":true,"ReleaseMode":"Debug","AssemblyReferences":[],"ReplacementDirectives":{".Server.cs":"SERVER"},"IgnoreFolders":[],"DistinctAssemblyReferences":[]}
new_releases Latest Update May 6, 2026
Changes on 2026-05-06
231266 May 6, 2026
Changes on 2026-05-06
231256 May 5, 2026
Changes on 2026-05-05
info Live API Passthrough & Removal Notice

This file manifest and asset metadata are retrieved live directly from the official Facepunch s&box public API. s&box Explorer does not host, store, or redistribute any package files. All download links route directly to Facepunch CDN servers.