Actualizado:

1. Saludar a los jugadores nuevos

# Iterativo, Siempre activo
execute as @a[tag=!joined] run tellraw @a [{"selector":"@s","color":"yellow"},{"text":" ha entrado por primera vez.","color":"yellow"}]
# En cadena, Siempre activo
tag @a[tag=!joined] add joined

La etiqueta se añade después del mensaje, así que sale una sola vez por jugador (comando tag). Añade give @a[tag=!joined] … antes de la línea de la etiqueta para entregar también un libro de normas (comando de libro escrito).

2. Detectar a los que vuelven (Java)

scoreboard objectives add left minecraft.custom:minecraft.leave_game
# Iterativo, Siempre activo
execute as @a[scores={left=1..}] run tellraw @s {"text":"¡Bienvenido de nuevo!","color":"aqua"}
# En cadena, Siempre activo
scoreboard players reset @a[scores={left=1..}] left

leave_game sube cuando un jugador sale, así que vale 1 o más cuando vuelve. Muestra el mensaje y luego reinícialo.

3. Un título grande en su lugar

execute as @a[scores={left=1..}] run title @s title {"text":"Bienvenido","color":"gold"}

Consulta title y tellraw.

4. Enviar al lobby a los que entran

execute as @a[scores={left=1..}] run tp @s 0 100 0

Colócalo antes del bloque de reinicio. Consulta los comandos de lobby.

Solución de problemas

Comprueba tu comando

El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.