All checks were successful
PR Checks / rust-gates (pull_request) Successful in 4m1s
`[game].server_id` was a cross-check that WARNED and kept the plugin's id. The phase 18 walk showed what that costs: a second server's plugin, parked in this listener's backlog by a plugin bug (Rust-Plugins, D154), was accepted the moment the first server's plugin reloaded, and the website showed server "alpha" with beta's hostname and wipe. Now, with `server_id` set, the connection is closed on the first frame that names another server, BEFORE that frame reaches the store or the feed, and both ids are logged at ERROR. The command channel is installed only once a frame has named this server, so no website command (a grant, a world write) can reach a plugin about to be refused, and /health reports the plugin connected only from then. Blank `server_id`: nothing checked, as before. The egg's launcher now hands the sidecar the plugin config's ServerId once that file exists. The plugin reads RUSTLINK_SERVER_ID only at its first config write (D150); without this, a variable edited after the first boot would be refused instead of changing nothing, as INSTALL.md promises. Walked: a plugin aimed at another server's sidecar is refused with an ERROR naming both ids, and the site keeps the right server's identity. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY