Skip to content

Fix bukkit and downstream fork MOTD crash

Andrew requested to merge bugfix/bukkit-MOTD into dev

What does this MR do and why?

Resolves #319 (closed) which causes a traceback when navigating to any MOTD with obfuscation on 1.20.4 bukkit or bukkit forks.

Screenshots or screen recordings

Traceback (most recent call last):
  File "/crafty/.venv/lib/python3.10/site-packages/tornado/web.py", line 1786, in _execute
    result = await result
  File "/crafty/app/classes/web/panel_handler.py", line 577, in get
    page_data["get_players"] = server.get_server_players()
  File "/crafty/app/classes/shared/server.py", line 1699, in get_server_players
    int_mc_ping = ping(internal_ip, int(server_port))
  File "/crafty/app/classes/minecraft/mc_ping.py", line 174, in ping
    return Server(json.loads(data))
  File "/crafty/app/classes/minecraft/mc_ping.py", line 41, in __init__
    if "bold" in e.keys():
AttributeError: 'str' object has no attribute 'keys'

How to set up and validate locally

On 1.20.4 bukkit or bukkit fork set your MOTD to A §4Bug §rTester2

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

  • Have you checked this doesn't interfere/conflict/duplicate someone elses work?
  • Have you fully tested your changes?
  • Have you resolved any lint issues?
  • Have you assigned a reviewer?
  • Have you applied correct labels?
Edited by Andrew

Merge request reports