Не работает Client команда на сервере

Версия Minecraft
1.20.1
API
Fabric
1
0
Пишу мод для анализа игроков через своё API на серверах, я пишу команду в одиночной игре, и всё нормально, а на серверах мод не видит ввод команды и отправляет её серверу.
Как это исправить?

Code:
package ru.zaralx.spxadmintool.client;

import com.google.gson.Gson;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import static net.minecraft.server.command.CommandManager.literal;

public class SPXAdminToolClient implements ClientModInitializer {

    List<CheckedPlayer> checkedPlayers = new ArrayList<>();

    @Override
    public void onInitializeClient() {
        initCommands();
    }

    public void initCommands() {
        CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> dispatcher.register(literal("spx_update")
                .executes(context -> {
                    checkOnlinePlayers();
                    return 1;
                })));
        CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> dispatcher.register(literal("spx_show")
                .executes(context -> {
                    StringBuilder ex = new StringBuilder();
                    for (CheckedPlayer player : checkedPlayers) {
                        if (player.found) {
                            ex.append("§a").append(player.nickname).append("§f, ");
                        } else {
                            ex.append("§c").append(player.nickname).append("§f, ");
                        }
                    }
                    context.getSource().sendMessage(Text.literal(ex.toString()));
                    return 1;
                })));
    }

    public void checkOnlinePlayers() {
        MinecraftServer server = MinecraftClient.getInstance().getServer();
        if (server != null) {
            Iterable<ServerPlayerEntity> players = server.getPlayerManager().getPlayerList();

            for (ServerPlayerEntity player : players) {
                String playerName = player.getDisplayName().getString();
                boolean valid = validateUser(playerName);
                if (valid) {
                    player.sendMessage(Text.literal("§a" + playerName), true);
                } else {
                    player.sendMessage(Text.literal("§c" + playerName), true);
                }
                boolean found = false;
                for (CheckedPlayer checkedPlayer : checkedPlayers) {
                    if (Objects.equals(checkedPlayer.nickname, playerName)) {
                        checkedPlayer.setFound(valid);
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    checkedPlayers.add(new CheckedPlayer(valid, playerName));
                }
            }
        }
    }

    public Boolean validateUser(String nickname) {
        // Hidden
    }

    class ResponseData {
        boolean found;
        UserData userData;
    }

    class UserData {
        String discordId;
    }

    class CheckedPlayer {
        boolean found;
        String nickname;

        public CheckedPlayer(boolean found, String nickname) {
            this.found = found;
            this.nickname = nickname;
        }

        public void setFound(boolean found) {
            this.found = found;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
    }
}
 
Сверху