skNetwork 1.0.0 turns the network into something scripts can act on directly: players are a real type, three events tell you when anyone moves, and the proxy's own server list ping is yours to set.
What's new
networkplayeris a new type. so now you could write a name, a UUID, or a real player, andall network playershands back players rather than text.- Three new events, firing on every server at once:
on network player join,on network player quit, andon network server switch, withevent-networkplayer,the previous network serverandthe new network server. Somebody changing server is one switch, not a quit and a join. send network title,play network soundandset network tab list header/footerreach a player wherever they are, in both the targeted and theacross the networkforms.- Player details from any server:
ping of,ip of,display name of,locale ofandplaytime of. Only what changed is sent, so an idle player costs one packet a minute. - Script-controlled server list ping.
network motd,network max playersandnetwork player countare settable, answered by the proxy without asking any server, and they survive a proxy restart. /sknetproxylists every backend: address, Skript version, how far through the log it is, and a permanent warning on any server whoseuse player UUIDs in variable namesdisagrees with the proxy./sknetproxy log,compactandbackupfor the storage file, and/sknetproxy reloadto re-readconfig.ymlwithout a restart. It appliesgroups,no-persist,debug,players,remote-commandsand the script size limits, and tells you what needs a restart.- Fixed: a snapshot chunk could overrun the frame cap, which left a backend reconnecting into the same unreadable snapshot for ever.
- Fixed:
no-persistvalues outlived a proxy restart on the backends, so the proxy and the servers disagreed with nothing to put them right. - Fixed:
the atomic change failedandwas answeredwere both true in a trigger that never waited.
This release changes the wire protocol, 13 to 14. Update the proxy and every game server together. A half that is behind is refused with a message on both consoles saying which side to update, so nothing is lost by getting the order wrong.
all network players, network players on ... and network server of ... now work in players rather than text. They still print as names, so send "%all network players%" is unchanged, but set {?online::*} to all network players now stores players. Use names of network players (all network players) for the old behaviour. See Upgrading from 0.3.x.
Install
The jar is attached below. It goes in plugins/ on the proxy and on every game server: one jar, it works out which half to be. Restart the network, then check /sknetproxy on the proxy and /sknet on a backend both say READY.
Every server has to run the same build. A half that is behind is refused when it connects, with a message on both consoles saying which side to update.
Read more about the setup here
Requirements
| Needs | |
|---|---|
| Java | 25, on the proxy and on every backend |
| Minecraft | 1.21 to 26.2 |
| Skript | 2.16.0+ |
| Proxy | BungeeCord or Velocity |
Setup, guides and the full syntax reference are in the wiki.
Full Changelog: v0.3.1...v1.0.0