Libraries

s&box libraries

Extended Networking

extended.extendednetworking

A library that simplifies networking

About

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();

adminnetworkingrpc

More by extended

01
Easy Json thumbnail
Easy Json extended.easyjson

Simplifies json reading/writing by adding some extensions methods

extendedjson
+0 24h
1favorites
2upvotes
34%Wilson score
02
Extended Box thumbnail
Extended Box extended.extendedbox

Things that are usefull in any s&box game

+0 24h
0favorites
1upvotes
21%Wilson score
03
Extended Collections thumbnail
Extended Collections extended.extendedcollections

Some collections and extension methods for collection

+0 24h
0favorites
0upvotes
--Wilson score
04
Extended Editor thumbnail
Extended Editor extended.extendededitor

No summary provided.

+0 24h
0favorites
0upvotes
--Wilson score
05
Smarter Enum thumbnail
Smarter Enum extended.smarterenum

Smart enums that are classes just like in Java (I hate java)

enumextended
+0 24h
0favorites
0upvotes
--Wilson score