https://github.com/ludevnet/lupdate
https://github.com/ludevnet/lupdate
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ludevnet/lupdate
- Owner: LUDevNet
- Created: 2022-01-07T18:15:45.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-27T23:04:42.000Z (almost 3 years ago)
- Last Synced: 2025-02-28T07:00:59.161Z (about 1 year ago)
- Language: Rust
- Size: 72.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LUpdate
This is a command line tool to generate LU-patcher *compatible* cache directories.
## Usage
Assuming a directory structure like the following, where `{cat1}`, `{cat2}`, …, `{catN}` are directories
with data:
```txt
/LUpdate.toml
/dev
├──/server
│ ├──/MyServer.exe
│ ├──/res
│ │ ├──{cat1}
│ │ ├──{cat2}
│ │ ⋮
│ │ └──{catN}
│ └──/config.toml
└──/project
├──/MyProject.exe
├──/res
│ ├──{cat1}
│ ├──{cat2}
│ ⋮
│ └──{catN}
└──/config.toml
/cache
├──/luserver
└──/luproject
```
You need to do the following:
1. Run `lupdate pki` to generate `primary.pki`
2. Run `lupdate cache` to populate the sd0 cache and create `trunk.txt`
3. Run `lupdate pack` to pre-package all PK-archives with `front` (`--filter *front*`)
4. Run `lupdate cache` again to cache PK files
5. Cut down `trunk.txt` to what the frontend needs
*Note*: This process may change in the future
## Sample config file
Save the following file as `LUpdate.toml` in the root directory (i.e. next to `dev`).
For the PKI you need another config file in the project dir (i.e. `server` / `project`)
```toml
[general]
src = "dev"
[project.luserver]
dir = "server"
config = "config.toml"
cache = "cache"
```
## PKI Config
Example:
```toml
[pack.cat1]
dirs = [
"cat1\\sub1",
"cat1\\sub3",
]
[pack.cat2]
dirs = [
"cat2\\subA",
"cat2\\subX"
]
```
## Disclaimer
This tool is intended to facilitate distributing new user-generated content for
private servers. Use is at your own risk. Note that the patcher protocol is using a
public HTTP host, so should you use this tool to prepare a full client, you *are distributing it*
and are liable for any consequences of that.