pterodactyl / panel

Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
https://pterodactyl.io
Other
6.7k stars 1.7k forks source link

Non-ASCII characters converting to "??" in the server console #3258

Closed booky10 closed 2 years ago

booky10 commented 3 years ago

Background:

Describe the bug Panel: php -v: 7.4.3 Daemon: uname -a: Linux pterodactyl 5.4.0-70-generic #78-Ubuntu SMP Fri Mar 19 13:29:52 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux docker info:

 Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 3
  Running: 1
  Paused: 0
  Stopped: 2
 Images: 8
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-70-generic
 Operating System: Ubuntu 20.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 11.9GiB
 Name: pterodactyl
 ID: QVBU:EAQ6:R4OT:RYE3:EBJZ:H3FD:JKA4:MR6U:6QGL:SEHX:JBJY:QJYY
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

To Reproduce

  1. Go to a created server (tested with Minecraft Paper)
  2. Enter a non-ASCII character in the console (something like §, © or ®)
  3. It displays as ?? in the console. Ingame it is displayed as ��, but I don't know if that is for Minecraft only.

Expected behavior The non-ASCII character should be displayed as entered, and not converted to ??.

schrej commented 3 years ago

Does that even work when starting Paper directly, without Pterodactyl? You've already mentioned it doesn't even work ingame, so it's quite likely the game doesn't even support it, so Pterodactyl can't either.

booky10 commented 3 years ago

If i start a server from the command line (also paper) it does work. Screenshot from console:

Screenshot

Software-Noob commented 3 years ago

This sounds more like Java ansi issue. That's the only way I could personally reproduce this.

We ship Paper egg with -Dterminal.jline=false -Dterminal.ansi=true in the startup which works fine: image

Typing this on any other non-java egg:

image