mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-21 23:22:34 +01:00
fix: ease onboarding with startup warnings and doc corrections
- Warn at startup when quest files are missing (clients crash without them) and point users to the download link - Fix Host config description: it's the advertised IP, not a bind address — 0.0.0.0 was wrong advice - Load bundled schemas (shops, events, gacha) in Docker init so new users get working demo data out of the box - Renumber duplicate patch schema 28 → 32 to resolve numbering collision - Fix patch schema example filename to use hyphens matching actual files
This commit is contained in:
@@ -58,7 +58,7 @@ Docker handles the database automatically. You only need to provide quest files
|
||||
3. Apply any patch schemas from [schemas/patch-schema/](./schemas/patch-schema/) in numerical order:
|
||||
|
||||
```bash
|
||||
psql -U postgres -d erupe -f schemas/patch-schema/01_patch.sql
|
||||
psql -U postgres -d erupe -f schemas/patch-schema/01-example-patch.sql
|
||||
# Repeat for each patch file
|
||||
```
|
||||
|
||||
@@ -159,7 +159,7 @@ Edit `config.json` before starting the server. The essential settings are:
|
||||
|
||||
| Setting | Description |
|
||||
|---------|-------------|
|
||||
| `Host` | Bind address. Use `127.0.0.1` for local, `0.0.0.0` for remote access |
|
||||
| `Host` | IP advertised to clients. Use `127.0.0.1` for local play, your LAN/WAN IP for remote. Leave blank in config to auto-detect |
|
||||
| `ClientMode` | Target client version (`ZZ`, `G10`, `Forward4`, etc.) |
|
||||
| `BinPath` | Path to quest/scenario files |
|
||||
| `Language` | `"en"` or `"jp"` |
|
||||
|
||||
@@ -14,6 +14,14 @@ done
|
||||
|
||||
echo "Patching!"
|
||||
for file in /schemas/patch-schema/*; do
|
||||
[ -f "$file" ] || continue
|
||||
echo " Applying $file"
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -1 -f "$file"
|
||||
done
|
||||
|
||||
echo "Loading bundled data (shops, events, gacha)..."
|
||||
for file in /schemas/bundled-schema/*; do
|
||||
[ -f "$file" ] || continue
|
||||
echo " Applying $file"
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -1 -f "$file"
|
||||
done
|
||||
10
main.go
10
main.go
@@ -6,6 +6,7 @@ import (
|
||||
"net"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path/filepath"
|
||||
"runtime/debug"
|
||||
"syscall"
|
||||
"time"
|
||||
@@ -180,6 +181,15 @@ func main() {
|
||||
|
||||
logger.Info(fmt.Sprintf("Server Time: %s", gametime.Adjusted().String()))
|
||||
|
||||
// Warn if quest files are missing — clients crash without them.
|
||||
questPath := filepath.Join(config.BinPath, "quests")
|
||||
if entries, err := os.ReadDir(questPath); err != nil || len(entries) == 0 {
|
||||
logger.Warn("No quest files found in " + questPath)
|
||||
logger.Warn("Download quest/scenario files from: https://files.catbox.moe/xf0l7w.7z")
|
||||
logger.Warn("Extract into your BinPath directory (default: bin/)")
|
||||
logger.Warn("Without these files, quests will not load and clients will crash.")
|
||||
}
|
||||
|
||||
// Now start our server(s).
|
||||
|
||||
// Entrance server.
|
||||
|
||||
Reference in New Issue
Block a user