Ich habe heute versucht im Chat folgende URL zu posten: https://truename.domains
Leider ist es nicht möglich diese anzuklicken, sodass ein Fenster im Browser mit dieser URL geöffnet wird. Bei anderen Links, wie z.B. https://www.sgpggb.de funktioniert dies wie erwartet und wie es jeder von euch wahrscheinlich auch gewohnt ist.
Ich dachte zunächst dies wäre ein Client-seitiges Problem, daher habe ich mich im Bug Tracker von Mojang umgeschaut, um zu erfahren ob andere dieses Problem ebenfalls haben. Im Singleplayer funktionieren Links im Chat überhaupt nicht, daher war ich mir nicht sicher, ob es wirklich ein Problem des Clients sein würde. Ich bin auf den folgenden Kommentar bei Bug #MC-30864 gestoßen:
Um zu erfahren, was der Server sendet, wenn man die oben stehenden URLs eingibt, habe ich mit einem Proxy (GitHub) einige Pakete abgefangen, um deren Inhalt offen zu legen und zu sehen, ob das im Kommentar erwähnte Format tatsächlich verwendet wird und die Ursache für das Problem sein könnte. Hier die jeweiligen relevanten Ausschnitte:Just some information about this issue. In 1.7, links are not parsed inside normal text sent by the server. To have clickable links, the server has to sent them in special way so they can be clicked on the client. So instead of sending:the server needs to sendCode: Alles auswählen
{"text": "http://link"}
I'm not sure this will be changed. But it should be easy to have a bukkit plugin in the future that does this.Code: Alles auswählen
{"text": "http://link", "clickEvent": {"action": "open_url", "value": "http://link"}}
Code: Alles auswählen
(Client) chat: { "message":"/silent https://www.sgpggb.de" }
(Server) chat: {
"message": {
"extra": [
{
"color": "aqua",
"clickEvent": {
"action": "open_url",
"value": "https://www.sgpggb.de"
},
"text": "https://www.sgpggb.de"
}
]
}
}
Code: Alles auswählen
(Client) chat: { "message":"/silent https://truename.domains" }
(Server) chat: {
"message": {
"extra": [
{
"color": "aqua",
"text": "https://truename.domains"
}
]
}
}
Es wäre schade, wenn dieser Bug bestehen bleiben müsste, da es sonst praktisch unmöglich wäre einen solchen Link im Chat zu posten, um anderen Spielern die Möglichkeit zu geben, schnell eine bestimmte Webseite aufzurufen. Wenn der Link nicht anklickbar wäre, könnte man es gleich sein lassen ihn in den Chat zu schreiben. Niemand würde ihn abtippen, vor allem nicht, wenn hinter der Domain noch ein längerer Pfad stünde. Das mag vielleicht nicht sehr wichtig erscheinen, aber ich habe etwas in Planung, das sehr davon profitieren würde, diese Art von Domains zu verwenden (die, mit längeren TLDs, wie .domains, scheinen alle nicht zu funktionieren. Und nein, ich möchte nicht für einen anderen Server werben ^^).
Falls ihr zu dem Ergebnis kommen solltet, dass ein serverfremdes Plugin für diese Verhalten verantwortlich ist, dann wäre ich dankbar, wenn ihr den Namen dieses Plugins nennen könntet. Dann könnte ich nämlich diesen Bug melden, in der Hoffnung, dass er gefixt wird. Ich hoffe auf eure Unterstützung.
- Snrk
Die vollständige Ausgabe des Proxys sieht so aus:
Code: Alles auswählen
(Client) chat: {"message":"/silent https://www.sgpggb.de"}
(Server) chat: {"message":"{\"extra\":[{\"color\":\"dark_gray\",\"text\":\"M\"},{\"text\":\"\"},{\"color\":\"yellow\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/ch silent\"},\"text\":\"[silent]\"},{\"color\":\"yellow\",\"text\":\"\"},{\"color\":\"gray\",\"text\":\"[Phönix]\"},{\"color\":\"green\",\"text\":\"[Jumper]\"},{\"color\":\"green\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/m Snrk \"},\"text\":\"Snrk: \"},{\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.sgpggb.de\"},\"text\":\"https://www.sgpggb.de\"},{\"color\":\"aqua\",\"text\":\"\"}],\"text\":\"\"}","position":1,"sender":"00000000-0000-0000-0000-000000000000"}
(Client) chat: {"message":"/silent https://truename.domains"}
(Server) chat: {"message":"{\"extra\":[{\"color\":\"dark_gray\",\"text\":\"M\"},{\"text\":\"\"},{\"color\":\"yellow\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/ch silent\"},\"text\":\"[silent]\"},{\"color\":\"yellow\",\"text\":\"\"},{\"color\":\"gray\",\"text\":\"[Phönix]\"},{\"color\":\"green\",\"text\":\"[Jumper]\"},{\"color\":\"green\",\"clickEvent\":{\"action\":\"suggest_command\",\"value\":\"/m Snrk \"},\"text\":\"Snrk: \"},{\"color\":\"aqua\",\"text\":\"https://truename.domains\"}],\"text\":\"\"}","position":1,"sender":"00000000-0000-0000-0000-000000000000"}
Hier die für den Proxy verwendete Konfiguration, falls das jemandem helfen sollte:
Code: Alles auswählen
{
"connectivity": {
"ports": {
"minecraft": 25565,
"web": 8000
},
"server": {
"port": 25565,
"ip": "sgpggb.de"
}
},
"openBrowserOnStart": true,
"password": "",
"MCversion": "1.16.5"
}