mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-25 09:03:10 +01:00
docs(README): update readme to reference new docs.
This commit is contained in:
171
README.md
171
README.md
@@ -151,112 +151,49 @@ For quick setup and development (not recommended for production), see [docker/RE
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Edit `config.json` to configure your server. Key settings include:
|
Erupe is configured via `config.json`. Copy [config.example.json](./config.example.json) to get started.
|
||||||
|
|
||||||
### Core Settings
|
### Quick Configuration Overview
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"Host": "127.0.0.1", // Server binding address
|
"Host": "127.0.0.1", // Server IP (leave empty for auto-detect)
|
||||||
"BinPath": "bin", // Path to quest/scenario binaries
|
"BinPath": "bin", // Path to quest/scenario files
|
||||||
"Language": "en", // "en" or "jp"
|
"Language": "en", // "en" or "jp"
|
||||||
"ClientMode": "ZZ" // Target client version
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Database
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"Database": {
|
"Database": {
|
||||||
"Host": "localhost",
|
"Host": "localhost",
|
||||||
"Port": 5432,
|
"Port": 5432,
|
||||||
"User": "postgres",
|
"User": "postgres",
|
||||||
"Password": "your_password",
|
"Password": "your_password",
|
||||||
"Database": "erupe"
|
"Database": "erupe"
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Server Ports
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"Sign": {
|
|
||||||
"Enabled": true,
|
|
||||||
"Port": 53312 // Authentication server
|
|
||||||
},
|
},
|
||||||
"Entrance": {
|
|
||||||
"Enabled": true,
|
"Sign": {"Enabled": true, "Port": 53312},
|
||||||
"Port": 53310 // World selection server
|
"Entrance": {"Enabled": true, "Port": 53310}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Channel servers are configured under `Entrance.Entries[].Channels[]` with individual ports (default: 54001+).
|
### Detailed Configuration Documentation
|
||||||
|
|
||||||
### Development Options
|
For comprehensive configuration details, see the [docs/](./docs/) directory:
|
||||||
|
|
||||||
```json
|
- **[Configuration Overview](docs/README.md)** - Start here for quick setup guide
|
||||||
{
|
- **[Basic Settings](docs/basic-settings.md)** - Host, language, paths, login notices
|
||||||
"DevMode": true,
|
- **[Server Configuration](docs/server-configuration.md)** - Sign, Entrance, and Channel servers
|
||||||
"DevModeOptions": {
|
- **[Database Setup](docs/database.md)** - PostgreSQL configuration and schema management
|
||||||
"AutoCreateAccount": true, // Auto-create accounts on first login
|
- **[Gameplay Options](docs/gameplay-options.md)** - NP/RP caps, boost times, quest allowances
|
||||||
"LogInboundMessages": false, // Log incoming packets
|
- **[Development Mode](docs/development-mode.md)** - Debug options and testing tools
|
||||||
"LogOutboundMessages": false, // Log outgoing packets
|
- **[Logging](docs/logging.md)** - File logging, rotation, and analysis
|
||||||
"MaxHexdumpLength": 256 // Max bytes for hexdump logs
|
- **[In-Game Commands](docs/commands.md)** - Chat commands configuration
|
||||||
}
|
- **[Courses](docs/courses.md)** - Subscription courses
|
||||||
}
|
- **[Discord Integration](docs/discord-integration.md)** - Optional Discord bot setup
|
||||||
```
|
|
||||||
|
|
||||||
### Gameplay Options
|
**Example configurations:**
|
||||||
|
|
||||||
```json
|
- [Local Development](docs/README.md#local-development-server) - Auto-account creation, debug logging
|
||||||
{
|
- [Production Server](docs/README.md#production-server-minimal) - Secure production settings
|
||||||
"GameplayOptions": {
|
- [Community Server](docs/README.md#community-server) - Feature-rich with Discord integration
|
||||||
"MaximumNP": 100000, // Max Netcafe Points
|
|
||||||
"MaximumRP": 50000, // Max Road Points
|
|
||||||
"BoostTimeDuration": 120, // Login boost duration (minutes)
|
|
||||||
"BonusQuestAllowance": 3, // Daily bonus quests
|
|
||||||
"DailyQuestAllowance": 1 // Daily quest limit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Logging
|
|
||||||
|
|
||||||
Erupe supports automatic file-based logging with rotation for production environments:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"Logging": {
|
|
||||||
"LogToFile": true, // Enable file logging (default: true)
|
|
||||||
"LogFilePath": "logs/erupe.log", // Log file path (default: "logs/erupe.log")
|
|
||||||
"LogMaxSize": 100, // Max file size in MB before rotation (default: 100)
|
|
||||||
"LogMaxBackups": 3, // Number of old log files to keep (default: 3)
|
|
||||||
"LogMaxAge": 28, // Max days to retain old logs (default: 28)
|
|
||||||
"LogCompress": true // Compress rotated logs (default: true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Logs are written to both console and file simultaneously. The log analyzer tool in `tools/loganalyzer/` provides commands to filter, analyze errors, track connections, and generate statistics from log files.
|
|
||||||
|
|
||||||
### In-game Commands
|
|
||||||
|
|
||||||
Configure available commands and their prefixes:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"Commands": [
|
|
||||||
{"Name": "Raviente", "Enabled": true, "Prefix": "!ravi"},
|
|
||||||
{"Name": "Reload", "Enabled": true, "Prefix": "!reload"},
|
|
||||||
{"Name": "Course", "Enabled": true, "Prefix": "!course"}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
For a complete configuration example, see [config.example.json](./config.example.json).
|
|
||||||
|
|
||||||
## Client Setup
|
## Client Setup
|
||||||
|
|
||||||
@@ -277,8 +214,12 @@ Erupe uses a structured schema system:
|
|||||||
|
|
||||||
**Note**: Only use patch schemas if you're following active development. They get consolidated into update schemas on release.
|
**Note**: Only use patch schemas if you're following active development. They get consolidated into update schemas on release.
|
||||||
|
|
||||||
|
For detailed database setup instructions, see [Database Configuration](docs/database.md).
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
For development guidelines, code architecture, and contribution instructions, see [CLAUDE.md](CLAUDE.md).
|
||||||
|
|
||||||
### Running Tests
|
### Running Tests
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -289,47 +230,34 @@ go test -v ./...
|
|||||||
go test -v -race ./...
|
go test -v -race ./...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Log Analysis
|
||||||
|
|
||||||
|
Erupe includes a log analyzer tool in [tools/loganalyzer/](tools/loganalyzer/) for filtering, analyzing errors, tracking connections, and generating statistics. See [Logging Documentation](docs/logging.md) for details.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
### Common Issues
|
### Quick Fixes
|
||||||
|
|
||||||
#### Server won't start
|
| Issue | Solution |
|
||||||
|
|-------|----------|
|
||||||
|
| Server won't start | Check PostgreSQL is running and database password is set |
|
||||||
|
| Client can't connect | Verify ports 53310, 53312, 54001+ are open in firewall |
|
||||||
|
| Database errors | Apply all schema patches in order (see [Database Setup](docs/database.md)) |
|
||||||
|
| Quest files not loading | Verify `BinPath` points to extracted binary files |
|
||||||
|
|
||||||
- Verify PostgreSQL is running: `systemctl status postgresql` (Linux) or `pg_ctl status` (Windows)
|
### Detailed Troubleshooting
|
||||||
- Check database credentials in `config.json`
|
|
||||||
- Ensure all required ports are available and not blocked by firewall
|
|
||||||
|
|
||||||
#### Client can't connect
|
For comprehensive troubleshooting guides, see:
|
||||||
|
|
||||||
- Verify server is listening: `netstat -an | grep 53310`
|
- [Database Troubleshooting](docs/database.md#troubleshooting) - Connection, authentication, and schema issues
|
||||||
- Check firewall rules allow traffic on ports 53310, 53312, and 54001+
|
- [Server Configuration](docs/server-configuration.md#troubleshooting) - Port conflicts, connectivity issues
|
||||||
- Ensure client's `host.txt` points to correct server IP
|
- [Development Mode](docs/development-mode.md#packet-logging) - Enable debug logging for packet analysis
|
||||||
- For remote connections, set `"Host"` in config.json to `0.0.0.0` or your server's IP
|
|
||||||
|
|
||||||
#### Database schema errors
|
## Documentation
|
||||||
|
|
||||||
- Ensure all patch files are applied in order
|
- **[Configuration Documentation](docs/README.md)** - Complete configuration guide
|
||||||
- Check PostgreSQL logs for detailed error messages
|
- **[CLAUDE.md](CLAUDE.md)** - Development guide and architecture overview
|
||||||
- Verify database user has sufficient privileges
|
- **[config.example.json](config.example.json)** - Full configuration example
|
||||||
|
|
||||||
#### Quest files not loading
|
|
||||||
|
|
||||||
- Confirm `BinPath` in config.json points to extracted quest/scenario files
|
|
||||||
- Verify binary files match your `ClientMode` setting
|
|
||||||
- Check file permissions
|
|
||||||
|
|
||||||
### Debug Logging
|
|
||||||
|
|
||||||
Enable detailed logging in `config.json`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"DevModeOptions": {
|
|
||||||
"LogInboundMessages": true,
|
|
||||||
"LogOutboundMessages": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
@@ -338,8 +266,9 @@ Enable detailed logging in `config.json`:
|
|||||||
- [Mezeporta Square Discord](https://discord.gg/DnwcpXM488)
|
- [Mezeporta Square Discord](https://discord.gg/DnwcpXM488)
|
||||||
- [Mogapedia's Discord](https://discord.gg/f77VwBX5w7) - Maintainers of this branch
|
- [Mogapedia's Discord](https://discord.gg/f77VwBX5w7) - Maintainers of this branch
|
||||||
- [PewPewDojo Discord](https://discord.gg/CFnzbhQ) - General community
|
- [PewPewDojo Discord](https://discord.gg/CFnzbhQ) - General community
|
||||||
- **Documentation**: [Erupe Wiki](https://github.com/Mezeporta/Erupe/wiki)
|
- **Additional Resources**:
|
||||||
- **FAQ**: [Community FAQ Pastebin](https://pastebin.com/QqAwZSTC)
|
- [Erupe Wiki](https://github.com/Mezeporta/Erupe/wiki)
|
||||||
|
- [Community FAQ](https://pastebin.com/QqAwZSTC)
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user