Перейти к содержимому

CloudChatMC

Общайтесь с друзьями на любом сервере Minecraft — плагины не нужны. Работает на бесплатном бэкенде Cloudflare Worker с идентификацией по токенам, глобальным чатом и личными сообщениями.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
163
Подписчиков на Modrinth
5
версия
1
Обновлён
26 марта 202626 мар.
Опубликован
в 2026

Коротко о моде

Работает на Fabric
Для Minecraft 1.21.4–1.21.11
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.0.0 от 26 марта 2026
Нужен Fabric API
Лицензия GPL-3.0-only — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.21.4–1.21.11
Описание переведено автоматическиПоказать оригинал (EN)

CloudChatMC

Source Code Issues Modrinth CurseForge CloudChatMC — это клиентский мод для Fabric, который создаёт приватный постоянный чат-туннель между вами и вашими друзьями — полностью независимо от того, на каком сервере Minecraft вы все играете. Будь вы на разных серверах, в разных мирах или кто-то из вас в одиночной игре — CloudChatMC поддерживает связь через бесплатный бэкенд Cloudflare Worker.

Возможности

  • Глобальный чат — отправляйте сообщения всем подключённым друзьям сразу
  • Личные сообщения — отправляйте сообщения конкретным игрокам
  • Отслеживание онлайна — смотрите, кто сейчас подключён, с помощью /ccmc online
  • Идентификация по токену — у каждого игрока уникальный токен, вход не требуется
  • Шифрование сообщений — все сообщения кодируются перед отправкой
  • Автопереподключение — автоматически переподключается при обрыве связи
  • Очередь сообщений — сообщения, полученные во время загрузки игры, не теряются
  • Команда конфигурации — обновляйте токен и URL сервера прямо в игре без перезапуска

Команды

КомандаОписание
/ccmc msg <message>Отправить глобальное сообщение всем подключённым игрокам
/ccmc pm <player> <message>Отправить личное сообщение конкретному игроку
/ccmc onlineПоказать всех подключённых игроков
/ccmc statusПоказать текущий статус подключения
/ccmc config <token> <url>Обновить токен и URL WebSocket во время работы
/ccmc helpПоказать все доступные команды

Настройка

CloudChatMC требует бэкенд Cloudflare Worker для передачи сообщений. Следуйте шагам ниже, чтобы разместить свой собственный — это полностью бесплатно.


Шаг 1 — Создайте Cloudflare Worker

  1. Перейдите на Cloudflare Dashboard и зарегистрируйтесь бесплатно
  2. Перейдите в Workers & Pages → Create
  3. Создайте новый Worker с любым именем (например, cloudchatmc)

Шаг 2 — Настройте Wrangler CLI

npm install -g wrangler
wrangler login
mkdir cloudchatmc-worker
cd cloudchatmc-worker

Шаг 3 — Создайте wrangler.toml

name = "your-worker-name"
main = "worker.js"
compatibility_date = "2024-01-01"

[[durable_objects.bindings]]
name = "CHAT_ROOM"
class_name = "ChatRoom"

[[migrations]]
tag = "v1"
new_sqlite_classes = ["ChatRoom"]

Замените your-worker-name на имя, которое вы дали своему Worker.


Шаг 4 — Создайте worker.js

// Добавьте сюда свои токены и имена игроков // Формат: "TOKEN": "PlayerName" // Генерируйте надёжные случайные токены — избегайте спецсимволов // Пример: используйте буквенно-цифровые строки из 32+ символов const TOKENS = { "token_for_player1": "Player1", "token_for_player2": "Player2", "token_for_player3": "Player3", "token_for_admin": "Admin" };

export class ChatRoom { constructor(state, env) { this.clients = new Map(); }

async fetch(request) { if (request.headers.get("Upgrade") !== "websocket") { return new Response("WebSocket only", { status: 400 }); }

const url = new URL(request.url); const token = url.searchParams.get("token");

if (!token || !TOKENS[token]) { return new Response("Unauthorized", { status: 401 }); }

const username = TOKENS[token];

const existing = this.clients.get(username); if (existing) { try { existing.close(1000, "Replaced by new connection"); } catch {} this.clients.delete(username); }

const [client, server] = new WebSocketPair(); server.accept();

this.clients.set(username, server); this.broadcast({ type: "join", user: username });

server.addEventListener("message", (event) => { let data; try { data = JSON.parse(event.data); } catch { return; }

if (data.type === "broadcast") { this.broadcast({ type: "msg", from: username, data: data.data });

} else if (data.type === "private") { const target = this.clients.get(data.to); if (target) { try { target.send(JSON.stringify({ type: "pm", from: username, data: data.data })); } catch { this.clients.delete(data.to); this.safeSend(server, { type: "error", message: "Player not online" }); } } else { this.safeSend(server, { type: "error", message: "Player not online" }); }

} else if (data.type === "list") { this.safeSend(server, { type: "list", users: [...this.clients.keys()] }); } });

server.addEventListener("close", () => { this.clients.delete(username); this.broadcast({ type: "leave", user: username }); });

server.addEventListener("error", () => { this.clients.delete(username); });

return new Response(null, { status: 101, webSocket: client }); }

broadcast(obj) { const msg = JSON.stringify(obj); const dead = []; for (const [name, ws] of this.clients) { try { ws.send(msg); } catch { dead.push(name); } } for (const name of dead) this.clients.delete(name); }

safeSend(ws, obj) { try { ws.send(JSON.stringify(obj)); } catch {} } }

export default { async fetch(request, env) { if (request.headers.get("Upgrade") !== "websocket") { return new Response("WebSocket only", { status: 400 }); }

const url = new URL(request.url); const token = url.searchParams.get("token");

if (!token || !TOKENS[token]) { return new Response("Unauthorized", { status: 401 }); }

const id = env.CHAT_ROOM.idFromName("global"); const room = env.CHAT_ROOM.get(id); return room.fetch(request); } };

***
### Шаг 5 — Деплой

wrangler deploy

URL вашего Worker будет таким: `wss://your-worker-name.your-subdomain.workers.dev`
***
### Шаг 6 — Настройка мода
Укажите свой токен и URL Worker в файле: `.minecraft/config/cloudchatmc.json`

{ "token": "YOUR_TOKEN_HERE", "url": "wss://your-worker-name.your-subdomain.workers.dev" }

Или используйте команду в игре:

/ccmc config YOUR_TOKEN wss://your-worker-name.your-subdomain.workers.dev

***
### Советы по токенам
*   У каждого игрока свой уникальный токен — никогда не делитесь токенами между игроками
*   Используйте длинные буквенно-цифровые строки (32+ символов) без спецсимволов
*   Держите токены в секрете — любой, у кого есть токен, может подключиться как этот игрок
*   Безопасные токены можно сгенерировать на [String Generator](https://www.random.org/strings/)
***
## Требования
*   Minecraft 1.21.4-1.21.11
*   Fabric Loader 0.16.10+
*   Fabric API
## Почему CloudChatMC?
Большинство модов для межсерверного общения требуют выделенного сервера или платного хостинга. CloudChatMC использует Cloudflare Workers с Durable Objects, у которых щедрый бесплатный тариф — так что для небольших групп друзей это полностью бесплатно и не требует обслуживания.
## Лицензия
GPL-3.0 — свободно для использования, изменения и распространения.

Частые вопросы

Как установить CloudChatMC?

Установите Fabric под свою версию Minecraft, скачайте CloudChatMC под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть CloudChatMC?

У CloudChatMC есть сборки для Minecraft 1.21.4–1.21.11.

Нужен ли CloudChatMC на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
GNU General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее