PackPulse
Open-source Fabric mod updater that syncs mods, configs, resource packs, and shader packs from a remote manifest before you play.
介绍
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 [email protected]
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 [email protected]
После изменения файлов сборки просто запусти тот же deploy-скрипт снова.
Примечания
- Мод работает на стороне клиента.
- Подходит для приватных сборок, серверных сборок и сборок небольших сообществ.
- Перед публичным релизом лучше проверить крайние версии каждого поддерживаемого диапазона Minecraft.
License
MIT
常见问题
PackPulse 支持哪些 Minecraft 版本?
PackPulse 支持 Minecraft Java 版 1.20–1.21.11,共 19 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。
PackPulse 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
Kamilchik 的其他作品
查看全部 →
Stratospherical Expansion NeoForge
Completely overhauling the Overworld with new sky island terrain generation and custom biomes.
Random Mod Spin
Random Mod Spin is a mod that creates a unique random adventure with a different selection of mods for every new world.
评论
登录后评论和评分