Commit Graph
481 Commits
Author SHA1 Message Date
Codex 48a578cc0e Fix first join sending disabled advancement packets
Remove the first-join advancement sends left active after AdvancementsManager was disabled. Preserve the welcome broadcast and new-player cleanup.

Fixes SteamWar/SteamWar#530
2026-11-12 01:10:10 +01:00
YoyoNow 937905f296 Merge pull request 'Hider core' (#519) from HiderCore into main
Reviewed-on: SteamWar/SteamWar#519
Reviewed-by: FessmLP <72+fessmlp@noreply.localhost>
2026-11-01 09:36:00 +01:00
YoyoNow dfec29dac5 Offer fight instead of local in /chat on arenas 2026-11-01 07:43:39 +01:00
YoyoNow b36d74da0e Fix WorldIdentifier 2026-11-01 07:35:56 +01:00
YoyoNow e550ee73f4 Answer private messages to yourself with an easter egg
Messaging yourself gets a random answer from your other self after ten
seconds, formatted like a normal private message, instead of "nobody
receives your message".
2026-10-31 23:42:43 +01:00
YoyoNow f882cc8c1b Merge pull request 'Add Wind Charge limit and region constraint' (#484) from Jaki/SteamWar:main into main
Reviewed-on: SteamWar/SteamWar#484
Reviewed-by: YoyoNow <4+yoyonow@noreply.localhost>
2026-10-31 23:27:31 +01:00
YoyoNow d4f4be78bb Add /whois click on names and /chat <channel> <message>
- Clicking a player name or @mention suggests /whois <player>; the
  hover explains the click
- /chat <channel> <message> writes once into a channel and replaces
  /chat <channel> msg <message>
- Clicking the Global or Local/Fight icon suggests /chat, for foreign
  arenas /chat <arena>
2026-10-31 23:24:00 +01:00
Jakob Schulz ded46c28a6 change arena map identifier to not use gamemode 2026-10-31 22:50:54 +01:00
YoyoNow 9fd2bd17d4 Use @LinkedTimer for the timers of linked classes
The repeating timers that linked classes and the plugin main classes started
once for the whole runtime now use @LinkedTimer, on Spigot (BauSystem,
SpigotCore, LobbySystem, MissileWars, TowerRun, Teamserver) and Velocity.
The FightInfoPacketSenders of MissileWars and TowerRun are linked themselves
instead of being started by the main class.
2026-10-31 16:26:34 +01:00
YoyoNow 9598b1c961 Add @LinkedTimer
A method of a linked class annotated with @LinkedTimer(delay, period) is run
repeatedly by the linker, on Spigot and Velocity. The method must not have
parameters, its return value is ignored. It is called through a MethodHandle
bound once when linking instead of reflection; LambdaMetafactory cannot be used
as the linker and the linked classes are in different class loaders.

The unit defaults to ticks and can be set to milliseconds up to hours; the
Unit enum converts it to ticks for Spigot and to a TimeUnit for Velocity.
HullHiderCommand uses it for its tick task.
2026-10-31 16:11:28 +01:00
YoyoNow d32f5738fd Rework chat icon and name colors
- Mark the receiver's default channel with a green icon
- Show the TeamChat icon in yellow, all other channel icons in gray
- Use the rank prefix and rank color for sender names in TeamChat and
  ServerTeamChat, like in the global chat
2026-10-26 15:22:35 +01:00
YoyoNow c238b9bdf2 Improve CheckCommand 2026-10-21 08:02:05 +02:00
12312 11798c3ec0 Fixed Replay not starting for Normal Users
Fixed Replay not starting for Normal Users.
2026-10-19 22:19:33 +02:00
YoyoNow 9d5fcc07e8 Only notify the owner's dev server about Bauwelt member changes
Dev servers are registered per owner (lowercase username), so there is
no need to wake every dev server.
2026-10-19 10:25:42 +02:00
YoyoNow 0c3e63d521 Restore BauweltMember cache and notify all dev servers on member changes
getBauMember never read its cache after the Exposed migration, so every
scoreboard render hit the DB (Too many connections, #479). Cache by
(bauwelt, member) incl. negative results, evict on addMember/remove, and
send BaumemberUpdatePacket to the Bauserver and all dev servers (also on
addmember). BauMemberUpdate clears the cache itself to not depend on
handler order.
2026-10-19 10:24:41 +02:00
YoyoNow 27d260a8d2 Delete CRIU checkpoint on /bau delete
/bau delete only removed the world folder. The checkpoint of the build
server stayed in place, so the next start restored the old JVM state
against a freshly copied world (superflat world, plugins inactive).
Extract ServerStarter#checkpointDir and delete the checkpoint together
with the world.
Fixes #438
2026-10-19 10:14:10 +02:00
YoyoNow 37f017b84c Improve action bar loading bar for server start 2026-10-19 09:59:02 +02:00
YoyoNow 5cc5529533 Reenable ReplayCommand 2026-10-19 09:07:08 +02:00
YoyoNow 253a975c73 Show no player hover for players of the public team 2026-10-18 20:01:24 +02:00
YoyoNow 12dd46176b Suggest /team info SW when clicking the SW prefix 2026-10-18 20:01:19 +02:00
YoyoNow 2111d72387 Suggest /team info when clicking a team prefix
Clicking the team prefix in the global/local chat or an event team
prefix in the fight chat puts /team info <shorthand> into the chat
input; the hover explains the click.
2026-10-18 20:01:15 +02:00
Jakob Schulz 99f94c5278 Add arena map name to world identifier 2026-10-16 23:00:38 +02:00
YoyoNow 3aa471c3ab Read global chat on fight servers after /chat global join 2026-10-16 11:29:02 +02:00
YoyoNow 47557d7bb8 Keep global chat readable after writing into it on fight servers
Writing /global <text> on a fight server shows the global chat until
the player leaves the server or runs /chat global leave, without
changing the default channel.
2026-10-16 11:17:30 +02:00
YoyoNow 62850b2e11 Let moderators read all fight chats automatically
/chat arenas join|leave lets moderators read the fight and team chats
of every arena and event spectate server; the choice is saved across
relogs. /chat <arena> leave excludes a single arena for the session.
2026-10-16 11:09:52 +02:00
YoyoNow 7f47d687d3 Hide /chat msg from players without moderation permission 2026-10-16 11:09:45 +02:00
YoyoNow 362e1cebff Name the fight channel Fight
The server name is already shown in the second line of the hover.
2026-10-16 11:09:41 +02:00
YoyoNow 39cacbd701 Show team on hover for @name mentions 2026-10-16 11:09:36 +02:00
YoyoNow 503261ce6d Name team chat channels TeamChat and ServerTeamChat 2026-10-16 11:09:30 +02:00
YoyoNow 8a86ebde83 Make DM names hoverable and channel icons clickable
- Both names in direct messages show their team on hover
- Clicking a channel icon suggests the command to write a single
  message into that channel
2026-10-16 11:09:24 +02:00
YoyoNow be915770b1 Show server name in local channel hover 2026-10-16 09:46:22 +02:00
YoyoNow 70c4225827 Merge pull request 'Chat channels' (#506) from feature/chat-channels into main
Reviewed-on: SteamWar/SteamWar#506
2026-10-16 09:19:54 +02:00
YoyoNow 904a850a3f Remove duplicated chat channel logic
- Shared send-or-switch helper for /global, /local, /tc and /stc
- Shared helpers for "is on server" and the player's current local
  channel
- Read fight infos from TablistManager instead of keeping a second map
- /chat resolves fight servers (arenas and spectate servers) by name in
  one place
- Reuse the global and participant formats instead of identical keys
2026-10-16 09:17:01 +02:00
YoyoNow 4c75879915 Keep spectators in fight chat and treat spectate servers as fight servers
- '+' from a spectator on a fight server stays in the fight chat
- Event spectate servers (static servers with a spectate port) use a
  local fight chat by default and hide the global chat like arenas
2026-10-16 09:07:58 +02:00
YoyoNow 65cc6119b0 Show default channel notice with its icon
The notice on join, on every default change and for /chat is now
"<icon> is your default channel" in green without the SteamWar prefix;
hovering the icon shows the channel name.
2026-10-16 09:00:41 +02:00
YoyoNow 975d42c17f Add team hovers to fight chat and make DMs non-default
- Names in the fight chat show the sender's team on hover like
  everywhere else; the Blue/Red team prefix is only hoverable in event
  fights, where it is the actual team
- Server team members using the SW prefix show the SteamWar team
- Direct messages can no longer be the default channel; /msg and /r
  require a message again
2026-10-16 08:59:26 +02:00
YoyoNow 317cb0adf8 Add channel icons and hovers to chat messages
Every chat message now starts with a fixed icon of its channel
(🌍 Global, ⌂ Local, ⚔ fight, ⚑ fight team, 👥 TC, ⚙ STC, ✉ DM),
highlighted yellow if it is the receiver's default channel. Hovering
the icon shows the channel name, hovering the sender shows their team
name and shorthand.
2026-10-16 08:48:30 +02:00
YoyoNow b21ff415a8 Show channel tags as plain gray prefix
Messages from a channel that is not the receiver's default are now
prefixed with the plain channel name in dark gray instead of brackets.
Direct messages get no tag, as their format already shows sender and
receiver.
2026-10-15 20:06:58 +02:00
YoyoNow 9fe05b59e4 Rework chat into Velocity-managed channels
Chat is now handled entirely by VelocityCore through channels with
separate readers and writers (Global, Local/Fight, Blue/Red fight team,
Team, ServerTeam, Alert and 1:1 direct messages). Each player has a
saved default channel; messages from other channels are tagged with
the channel name, and every default change is announced.

- /global, /local, /tc, /stc, /msg and /r switch the default channel
  when called without a message
- /chat <channel> switches, /chat <channel> join|leave toggles reading
  (saved); moderators can join arenas by name and write with
  /chat <channel> msg <text>
- '+' sends from global to local and from local/fight to the fight team
- Referees write yellow in the fight chat
- Subservers no longer receive chat; arenas get a record-only
  ChatRecordPacket so replays keep their chat
- Remove the chat listeners of SpigotCore, FightSystem, MissileWars,
  TowerRun and TNTLeague

Closes #460, #129
2026-10-15 19:55:25 +02:00
12312 3e3a209c80 Removed Extra Line 2026-09-24 21:49:20 +02:00
12312 1d43021853 Remove TEAM_HELP_SERVER Deutsch 2026-09-24 21:47:22 +02:00
12312 5a224c1bcc Remove TEAM_HELP_SERVER English 2026-09-24 21:46:18 +02:00
12312 6330dbc2b1 VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java aktualisiert 2026-09-24 21:43:20 +02:00
YoyoNow 6209b86149 Fix TeamCommand.info 2026-09-07 14:03:06 +02:00
Hut512 8401f67b24 Fix CRIU subserver stop 2026-09-03 02:24:49 +02:00
YoyoNow f35c07ab5b Fix EventStarter 2026-08-30 16:12:32 +02:00
YoyoNow 549f7e555c Remove NoTeamServer punishment 2026-08-30 13:04:52 +02:00
YoyoNow 859238d7fa Disable 'showtable' in EventCommand 2026-08-30 12:25:34 +02:00
YoyoNow a79b00f78f Fix EventCommand 2026-08-30 12:23:23 +02:00
YoyoNow 6476125a3f Add ServerLinks to login 2026-08-24 20:22:48 +02:00