WiIIiam278 / HuskChat

A simple & customizable no-frills Minecraft chat system
https://william278.net/project/huskchat
Apache License 2.0
78 stars 35 forks source link

[Bug?]: Chat messages are seen as sent by server / system. #184

Closed ajh123 closed 7 months ago

ajh123 commented 7 months ago

When a player sends a chat message the client believes it came from the server and not another player. I assume the config needs to be changed, or additional plugins are needed.

In the Minecraft logs (client): 15:09:28.885 net.minecraft.class_338 Render thread [System] [CHAT] Owner samuelh2005: dssdfdssdf - see the [System]

Velocity logs: [15:09:30 INFO] [huskchat]: [CHAT] [LOCAL] samuelh2005: dssdfdssdf

There are no errors anywhere.

Versions

Velocity:

> velocity version
[15:24:22 INFO]: Velocity 3.2.0-SNAPSHOT (git-07a525be-b296)
[15:24:22 INFO]: Copyright 2018-2023 Velocity Contributors. Velocity is licensed under the terms of the GNU General Public License v3.
[15:24:22 INFO]: velocitypowered.com - GitHub

Plugins:

  1. HuskChat-Plugin-2.7.1
  2. SignedVelocity-Proxy-1.2.2
  3. VPacketEvents-1.1.0 extra plugins don't seem to matter.

Backend (Fabric / Paper )

Two separate servers (a Paper lobby and a Fabric creative). Fabric has SignedVelocity-Fabric-1.2.2-Fabric-1.20.1 and the Lobby has SignedVelocity-Paper-1.2.2.

This doesn't really matter because this problem exists on both servers.

Husk chat config

config.txt (GitHub won't allow .yml).

WiIIiam278 commented 7 months ago

Hi there,

This is intended behaviour, and HuskChat is not currently a plugin that supports signed chat at the moment.

The functionality of the (admittedly, confusingly named) "SignedVelocity" plugin is to allow certain Velocity API feature implementations (such as modifying the outcome of chat events) to still work without kicking players with errors (An alternative plugin "UnsignedVelocity" also exists and that just strips the signing of all messages passing through the proxy).

It may be possible to, instead of canceling mesages, modify the actual message content (I think). But this is a bit up in the air at the moment and might not work with certain features. API for this is also very limited at the moment - and probably will remain that way for a while (BungeeCord, for instance, has zero support for most of this stuff). You can read more about this on issue #57.

Basically, modifying chat messages on intermediary (proxy) levels are something Minecraft doesn't really support very well in modern versions.

Thanks!

ajh123 commented 7 months ago

@WiIIiam278

A possible solution could be if HuskChat is installed on the proxy and backend (e.g Paper) servers the messages are modified on the backend (e.g Paper) server (where it is possible) and forwarded to the proxy then to the client.

WiIIiam278 commented 7 months ago

@WiIIiam278

A possible solution could be if HuskChat is installed on the proxy and backend (e.g Paper) servers the messages are modified on the backend (e.g Paper) server (where it is possible) and forwarded to the proxy then to the client.

Yeah: issue is at that point why even bother with doing chat on the proxy? Why not just do chat entirely on the backends and network over plugin messages directly?