Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MOTD doesn't show up (1.17.1, macOS, ARM) #11

Closed
arklanq opened this issue Nov 21, 2021 · 13 comments
Closed

MOTD doesn't show up (1.17.1, macOS, ARM) #11

arklanq opened this issue Nov 21, 2021 · 13 comments
Assignees
Labels
bug Something isn't working

Comments

@arklanq
Copy link

arklanq commented Nov 21, 2021

As stated in the title - Motd doesn't display on macOS. Everything else works like a charm. The server correctly wakes up on connection and goes asleep on idle.

Screnshot:

image

Of course, I have the latest version lazymc-v0.2.2-macos.

System specification
Hardware overview:

   Model Name: Mac mini
   Model Identifier: Macmini9,1
   Chip: Apple M1
   Total number of cores: 8 (performance: 4, efficiency: 4)
   Memory: 8 GB
   System version hardware: 7429.41.5
   OS loader: 7429.41.5
   Serial number (system): C07F1A4ZQ6NV
   Hardware UUID: 352FB5D9-7603-5D67-AF8C-9624D5CBE190
   CERTIFICATION UDID: 00008103-001215100E8A001E
   Activation Lock Status: Enabled
server.properties
#Minecraft server properties
#Sun Nov 21 23:42:56 CET 2021
enable-jmx-monitoring=false
rcon.port=25575
enable-command-block=false
gamemode=survival
enable-query=false
level-name=world
motd=A Minecraft Server
query.port=25566
pvp=true
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
max-players=20
use-native-transport=true
online-mode=true
enable-status=true
allow-flight=false
broadcast-rcon-to-ops=true
view-distance=10
server-ip=127.0.0.1
resource-pack-prompt=
allow-nether=true
server-port=25566
enable-rcon=true
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
resource-pack=
entity-broadcast-range-percentage=100
rcon.password=RoxyPoxy23
player-idle-timeout=0
debug=false
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
snooper-enabled=true
function-permission-level=2
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984
lazymc.toml
# lazymc configuration
#
# You must configure your server directory and start command, see:
# - server.directory
# - server.command
#
# All defaults are commented out, change it if you desire.
# You can probably leave the rest as-is.
#
# You may generate a new configuration with: lazymc config generate
# Or find the latest at: https://is.gd/WWBIQu

[public]
# Public address. IP and port users connect to.
# Shows sleeping status, starts server on connect, and proxies to server.
address = "0.0.0.0:25565"

# Server version & protocol hint.
# Sent to clients until actual server version is known.
# See: https://is.gd/FTQKTP
version = "1.17.1"
protocol = 756

[server]
# Server address. Internal IP and port of server started by lazymc to proxy to.
# Port must be different from public port.
address = "127.0.0.1:25566"

# Server directory, defaults to current directory.
directory = "."

# Command to start the server.
# Warning: if using a bash script read: https://is.gd/k8SQYv
command = "java -server  -jar paper-1.17.1-388.jar nogui"

# Immediately wake server when starting lazymc.
#wake_on_start = false

# Immediately wake server after crash.
#wake_on_crash = false

# Server start/stop timeout in seconds. Force kill server process if it takes too long.
#start_timeout = 300
#stop_timeout = 150

# Block banned IPs as listed in banned-ips.json in server directory.
block_banned_ips = true

# Drop connections from banned IPs.
# Banned IPs won't be able to ping or request server status.
# On connect, clients show a 'Disconnected' message rather than the ban reason.
#drop_banned_ips = false

[time]
# Sleep after number of seconds.
sleep_after = 60

# Minimum time in seconds to stay online when server is started.
minimum_online_time = 60

[motd]
# MOTD, shown in server browser.
sleeping = "☠ Server is sleeping\n§2☻ Join to start it up"
starting = "§2☻ Server is starting...\n§7⌛ Please wait..."
stopping = "☠ Server going to sleep...\n⌛ Please wait..."

# Use MOTD from Minecraft server once known.
from_server = false

[join]
# Methods to use to occupy a client on join while the server is starting.
# Read about all methods and configure them below.
# Methods are used in order, if none is set, the client disconnects without a message.
methods = [
    "hold",
    "kick",
]

[join.kick]
# Kick occupation method.
# Instantly kicks a client with a message.

# Message shown when client is kicked while server is starting/stopping.
starting = "Server is starting... §c♥§r\n\nThis may take some time.\n\nPlease try to reconnect in a minute."
stopping = "Server is going to sleep... §7☠§r\n\nPlease try to reconnect in a minute to wake it again."

[join.hold]
# Hold occupation method.
# Holds back a joining client while the server is started until it is ready.
# 'Connecting the server...' is shown on the client while it's held back.
# If the server starts fast enough, the client won't notice it was sleeping at all.
# This works for a limited time of 30 seconds, after which the Minecraft client times out.

# Hold client for number of seconds on connect while server starts.
# Keep below Minecraft timeout of 30 seconds.
timeout = 25

[join.forward]
# Forward occupation method.
# Instantly forwards (proxies) the client to a different address.
# You may need to configure target server for it, such as allowing proxies.
# Consumes client, not allowing other join methods afterwards.

# IP and port to forward to.
# The target server will receive original client handshake and login request as received by lazymc.
#address = "127.0.0.1:25565"

[join.lobby]
# Lobby occupation method.
# The client joins a fake lobby server with an empty world, floating in space.
# A message is overlayed on screen to notify the server is starting.
# The client will be teleported to the real server once it is ready.
# This may keep the client occupied forever if no timeout is set.
# Consumes client, not allowing other join methods afterwards.

# !!! WARNING !!!
# This is highly experimental, incomplete and unstable.
# This may break the game and crash clients.
# Don't enable this unless you know what you're doing.
#
# - Only works with offline mode
# - Only works with vanilla Minecraft clients, does not work with modded
# - Only tested with Minecraft 1.17.1

# Maximum time in seconds in the lobby while the server starts.
#timeout = 600

# Message banner in lobby shown to client.
#message = "§2Server is starting\n§7⌛ Please wait..."

# Sound effect to play when server is ready.
#ready_sound = "block.note_block.chime"

[lockout]
# Enable to prevent everybody from connecting through lazymc. Instantly kicks player.
#enabled = false

# Kick players with following message.
#message = "Server is closed §7☠§r\n\nPlease try to reconnect in a minute."

[rcon]
# Enable sleeping server through RCON.
# Must be enabled on Windows.
enabled = true

# Server RCON port. Must differ from public and server port.
port = 25575

# Server RCON password.
# Or whether to randomize password each start (recommended).
password = "RoxyPoxy23"
randomize_password = false

[advanced]
# Automatically update values in Minecraft server.properties file as required.
rewrite_server_properties = true

[config]
# lazymc version this configuration is for.
# Don't change unless you know what you're doing.
version = "0.2.2"

If it matters - I have already turned off the firewall in system preferences (I don't know if it makes sense of localhost environment, but I did it just to be sure).

I have already tried to run it inside of a Docker container (following crbanman/papermc-lazymc-docker project), but using the binary built for linux-aarch64. Anyway, it ends with exactly the same results - MOTD doesn't work at all.

I am pretty new to this whole world of containers, binaries, proxying etc. so sorry if I have left something important without proper explanation.

@timvisee
Copy link
Owner

timvisee commented Nov 22, 2021

That's weird!

Based on your lazymc.toml you're running paper-1.17.1-388. Are you using the the vanilla 1.17.1 client with this?

I'll check to see if I can reproduce this on my machine with v0.2.2.

I doubt this is a macOS or ARM specific thing. In any case, I don't have an ARM machine, but I'll give it a spin on Linux/x86.

@timvisee timvisee added the bug Something isn't working label Nov 22, 2021
@arklanq
Copy link
Author

arklanq commented Nov 22, 2021

I am running modified version of MC 1.17.1 which is running natively on Java Zulu for ARM. For now I had not any issues with servers list. Today evening I will checkout if the issue persists on an emulated MC Client (through Rosetta) and let you know.

PS: Thanks for fast response, support and this great project.

@timvisee
Copy link
Owner

For now I had not any issues with servers list.

Are you saying that it seemed it fixed itself?

The Minecraft server browser sometimes gets stuck querying a server. This can happen with any server. It then requires a client restart to get back to normal again. It it works now, this may have been the problem.

Today evening I will checkout if the issue persists on an emulated MC Client (through Rosetta) and let you know.

That would be awesome.

@timvisee timvisee changed the title Motd doesn't display on macos MOTD doesn't show up (1.17.1, macOS, ARM) Nov 22, 2021
@arklanq
Copy link
Author

arklanq commented Nov 22, 2021

For now I had not any issues with servers list.

Are you saying that it seemed it fixed itself?

The Minecraft server browser sometimes gets stuck querying a server. This can happen with any server. It then requires a client restart to get back to normal again. It it works now, this may have been the problem.

Today evening I will checkout if the issue persists on an emulated MC Client (through Rosetta) and let you know.

That would be awesome.

No, I mean that I had no problems with servers running locally the classic way - via the bash script, not lazymc. Have a look at the screenshot:

Zrzut ekranu 2021-11-22 o 19 22 23

⬆️   That's exactly the same server lazymc is launching, but started via bash script. Server is easily visible on the list.

If I launch server via lazymc it's not visible anymore (on lazymc port 25565 or server port 25566):

image

... but I can join and server is starting up normally and shutting down when idle as expected.

@arklanq
Copy link
Author

arklanq commented Nov 22, 2021

As I have promised here are the results with the classic, unmodified minecraft launcher emulated through Rosetta:

image

No luck at all 😞

@arklanq
Copy link
Author

arklanq commented Nov 22, 2021

Zrzut ekranu 2021-11-22 o 19 46 26

I have already tried on my macbook pro with Intel CPU. Exactly same results - doesn't work.

Anyway, I have noticed that the minecraft client is at least trying to ping port 25565 (lazymc) as opposed to 25566 (server running under lazymc).

@arklanq
Copy link
Author

arklanq commented Nov 22, 2021

Okay.. that's weird... I have tried to use lazymc on Windows 11 PC, using lazymc-v0.2.3-windows.exe, but ended with the same results:

photo_2021-11-22 20 31 47

MOTD doesn't show up, but I can connect easily.
Please have in mind that in all tests I have used exactly the same server, with the same configuration files.

@timvisee
Copy link
Owner

Thank you for your comprehensive testing!

I can confirm that I'm seeing similar issues on my own machine right now. I'm not sure why this didn't show up before.

image

I'll try to fix this at a later time.

@timvisee timvisee self-assigned this Nov 23, 2021
@arklanq
Copy link
Author

arklanq commented Nov 23, 2021

I am staying tuned for updates.

@timvisee
Copy link
Owner

I figured it out!

It seems this Minecraft version requires a favicon in the server status response, otherwise it simply rejects the connection.

Luckily I've added support for this in lazymc v0.2.2 already. Simply add an image named server-icon.png in your server directory, and your existing lazymc version should automatically pick it up. You can find the default icon here (be sure to set the correct name though).

I'll update lazymc to always include this by default so this doesn't happen in the future.

Sorry for the inconvenience. I hope this fixes it for you as well!

@timvisee
Copy link
Owner

I've released v0.2.4 which now falls back to the default icon if none is set by the user.

Closing this now, assuming it is fixed. Feel free to open it again if further issues arise.

@arklanq
Copy link
Author

arklanq commented Nov 24, 2021

@timvisee

image

Now it works like a charm. Thank you for this fix and this amazing project. I have sent a small donation for a coffee.

@timvisee
Copy link
Owner

That's fantastic! Thanks a bunch 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants