skNetwork

Addon skNetwork 1.0.0

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the community!

    Now, what are you waiting for? Join the community now!

skNetwork 1.0.0

What's new

  • networkplayer is a new type. so now you could write a name, a UUID, or a real player, and all network players hands back players rather than text.
  • Three new events, firing on every server at once: on network player join, on network player quit, and on network server switch, with event-networkplayer, the previous network server and the new network server. Somebody changing server is one switch, not a quit and a join.
  • send network title, play network sound and set network tab list header/footer reach a player wherever they are, in both the targeted and the across the network forms.
  • Player details from any server: ping of, ip of, display name of, locale of and playtime of. Only what changed is sent, so an idle player costs one packet a minute.
  • Script-controlled server list ping. network motd, network max players and network player count are settable, answered by the proxy without asking any server, and they survive a proxy restart.
  • /sknetproxy lists every backend: address, Skript version, how far through the log it is, and a permanent warning on any server whose use player UUIDs in variable names disagrees with the proxy.
  • /sknetproxy log, compact and backup for the storage file, and /sknetproxy reload to re-read config.yml without a restart. It applies groups, no-persist, debug, players, remote-commands and 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-persist values outlived a proxy restart on the backends, so the proxy and the servers disagreed with nothing to put them right.
  • Fixed: the atomic change failed and was answered were 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.
## What's new

- New proxy option, no-persist. It takes variable names, * wildcards included, spelled the way /sknetproxy dump takes them:
```
no-persist:
- "session::*"
- "apikey"
```


## 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](https://github.com/ahmadmsaleem/skNetwork/wiki/Setup)

## 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](https://github.com/ahmadmsaleem/skNetwork/wiki).


**Full Changelog**: https://github.com/ahmadmsaleem/skNetwork/compare/v0.3.0...v0.3.1