Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
PackPulseMod
PackPulseMod is an open-source client-side updater for private Minecraft modpacks.
It is designed for server owners and small communities who want players to keep their pack folders in sync without shipping a full launcher.
PackPulseMod is not tied to any specific server. You host your own files and manifest.json, then set the manifest URL in the client config.
Features
- Syncs missing or changed files on Minecraft startup
- Uses SHA-256 hashes for file checks
- Supports
mods,config,resourcepacks,shaderpacks, extra top-level mod folders, and optionaloptions.txt - Shows a confirmation screen before downloading
- Lets players choose which files to download
- Includes a scrollable file list
- Shows clean mod/file names without
.jar,.zip,.txt, etc. - Has a
Download allbutton - Supports HTTP and HTTPS manifest URLs
- Supports explicit file removal through the manifest
deletelist - Can optionally remove stale files that are no longer in the manifest
- Shows a restart screen when updated
.jarmods require a restart
Supported Builds
| Loader | Minecraft versions |
|---|---|
| Fabric | 1.20.1 - 1.20.6 |
| Fabric | 1.21 - 1.21.11 |
| NeoForge | 1.20.5 - 1.20.6 |
| NeoForge | 1.21 - 1.21.11 |
Client Setup
- Install the correct Fabric Loader or NeoForge version.
- Put the matching PackPulseMod jar into
.minecraft/mods. - Start Minecraft once to create the config.
- Close Minecraft.
- Open:
.minecraft/config/packpulse.json
- Replace the example
manifestUrlwith your own URL:
{
"manifestUrl": "https://your-domain.example/packpulse/manifest.json",
"removeFilesMissingFromManifest": false,
"updateOnStartup": true,
"showProgressWindow": true,
"autoRestartAfterModUpdates": false,
"restartExecutable": ""
}
The default URL is only a placeholder. You must host your own manifest.
Server Pack Layout
Put pack files on your server like this:
server-pack/
mods/
config/
defaultconfigs/
kubejs/
resourcepacks/
shaderpacks/
options.txt
options.txt is optional.
Manifest
PackPulseMod expects a JSON manifest with file paths, download URLs, SHA-256 hashes, and an optional delete list for files that should be removed from clients.
The repository includes scripts that can generate and deploy this manifest automatically. When a previously published file disappears from the server pack, the generator adds it to delete, so old renamed mods can be removed safely.
Example script workflow:
sudo mkdir -p /opt/packpulse/scripts /opt/packpulse/server-pack
cd /opt/packpulse
curl -fsSL -o scripts/generate_manifest.py https://raw.githubusercontent.com/Kamilhik/PackPulseMod/main/scripts/generate_manifest.py
curl -fsSL -o scripts/deploy_http_ip.sh https://raw.githubusercontent.com/Kamilhik/PackPulseMod/main/scripts/deploy_http_ip.sh
curl -fsSL -o scripts/deploy_https_letsencrypt.sh https://raw.githubusercontent.com/Kamilhik/PackPulseMod/main/scripts/deploy_https_letsencrypt.sh
chmod +x scripts/deploy_http_ip.sh scripts/deploy_https_letsencrypt.sh
HTTP by IP:
sudo ./scripts/deploy_http_ip.sh --server-ip YOUR_SERVER_IP
HTTPS with domain and Let's Encrypt:
sudo ./scripts/deploy_https_letsencrypt.sh --domain files.example.com --email you@example.com
After changing your pack files, run the same deploy script again.
Notes
- This mod is client-side.
- It is meant for private packs, server packs, and community packs.
- For public releases, test the edge versions of each supported Minecraft range.
Русский
PackPulseMod - это open-source клиентский мод для автоматического обновления приватных Minecraft-сборок.
Он подходит для владельцев серверов и небольших сообществ, которым нужно синхронизировать папки сборки у игроков без отдельного лаунчера.
PackPulseMod не привязан к конкретному серверу. Ты размещаешь свои файлы и manifest.json, а затем указываешь ссылку на manifest в конфиге клиента.
Возможности
- Синхронизация отсутствующих или измененных файлов при запуске Minecraft
- Проверка файлов по SHA-256
- Поддержка
mods,config,resourcepacks,shaderpacks, дополнительных папок модов и опциональногоoptions.txt - Экран подтверждения перед скачиванием
- Выбор, какие файлы скачивать
- Список файлов со скроллом
- Красивые названия файлов без
.jar,.zip,.txtи других расширений - Кнопка
Скачать всё - Поддержка HTTP и HTTPS ссылок на manifest
- Явное удаление файлов через список
deleteв manifest - Опциональное удаление устаревших файлов, которых больше нет в manifest
- Экран перезапуска, если после обновления
.jar-модов нужен перезапуск
Поддерживаемые Сборки
| Лоадер | Версии Minecraft |
|---|---|
| Fabric | 1.20.1 - 1.20.6 |
| Fabric | 1.21 - 1.21.11 |
| NeoForge | 1.20.5 - 1.20.6 |
| NeoForge | 1.21 - 1.21.11 |
Настройка Клиента
- Установи подходящий Fabric Loader или NeoForge.
- Положи нужный jar PackPulseMod в
.minecraft/mods. - Запусти Minecraft один раз, чтобы создался конфиг.
- Закрой Minecraft.
- Открой:
.minecraft/config/packpulse.json
- Замени примерный
manifestUrlна свою ссылку:
{
"manifestUrl": "https://your-domain.example/packpulse/manifest.json",
"removeFilesMissingFromManifest": false,
"updateOnStartup": true,
"showProgressWindow": true,
"autoRestartAfterModUpdates": false,
"restartExecutable": ""
}
Стандартная ссылка является только примером. Нужно разместить свой manifest.
Структура Серверной Сборки
Файлы сборки на сервере должны лежать так:
server-pack/
mods/
config/
defaultconfigs/
kubejs/
resourcepacks/
shaderpacks/
options.txt
options.txt необязателен.
Manifest
PackPulseMod ожидает JSON manifest с путями файлов, ссылками для скачивания, SHA-256 хэшами и опциональным списком delete для удаления файлов у клиентов.
В репозитории есть скрипты, которые могут автоматически создать manifest и развернуть файлы на сервере. Если ранее опубликованный файл исчез из серверной сборки, генератор добавит его в delete, чтобы старые переименованные моды удалялись безопасно.
Пример:
sudo mkdir -p /opt/packpulse/scripts /opt/packpulse/server-pack
cd /opt/packpulse
curl -fsSL -o scripts/generate_manifest.py https://raw.githubusercontent.com/Kamilhik/PackPulseMod/main/scripts/generate_manifest.py
curl -fsSL -o scripts/deploy_http_ip.sh https://raw.githubusercontent.com/Kamilhik/PackPulseMod/main/scripts/deploy_http_ip.sh
curl -fsSL -o scripts/deploy_https_letsencrypt.sh https://raw.githubusercontent.com/Kamilhik/PackPulseMod/main/scripts/deploy_https_letsencrypt.sh
chmod +x scripts/deploy_http_ip.sh scripts/deploy_https_letsencrypt.sh
HTTP по IP:
sudo ./scripts/deploy_http_ip.sh --server-ip YOUR_SERVER_IP
HTTPS через домен и Let's Encrypt:
sudo ./scripts/deploy_https_letsencrypt.sh --domain files.example.com --email you@example.com
После изменения файлов сборки просто запусти тот же deploy-скрипт снова.
Примечания
- Мод работает на стороне клиента.
- Подходит для приватных сборок, серверных сборок и сборок небольших сообществ.
- Перед публичным релизом лучше проверить крайние версии каждого поддерживаемого диапазона Minecraft.
License
MIT


