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 的其他作品
查看全部 →e4steam
e4steam is an e4mc fork that lets you play Minecraft with friends over the Steam network.
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.
评论
登录后评论和评分