# TownyExternal
一个简单的插件,通过一个简单易用的 HTTP API 暴露 Towny 的信息。
缓存也可以进行配置,以减少对 Towny API 的不必要调用以及服务器负载。
默认情况下,服务器监听 `127.0.0.1:8064`,但这可以进行配置。
## 端点
- `/api/towns` 获取所有城镇的列表
- `/api/town/{id}` 获取特定的城镇
- `/api/nations` 获取所有国家的列表
- `/api/nation/{id}` 获取特定的国家
## 缓存
TownyExternal 有三种类型的缓存:Redis、H2 和 Postgres。
### H2 (默认)
所有内容都将存储在内存中。这是最简单的选项和默认选项,但由于缓存会在服务器重启时清除,因此需要比其他两种选项更多的 Towny API 调用。
如果您没有任何设置,则无需将此行添加到您的 config.yml 文件中,因为它已经是默认设置,但您可以添加。
```yaml
cache: "h2"
```
### Redis (推荐)
需要安装 Redis 或类似程序,例如 Valkey。
将以下内容添加到您的 config.yml 文件中。
```yaml
cache: "redis"
redis-host: "127.0.0.1" # 或者您的主机地址
redis-port: "6379" # 或者您的端口号
redis-prefix: "" # 可以留空,如果其他程序也使用相同的数据库,则设置
```
### Postgres
需要安装 PostgreSQL。
将以下内容添加到您的 config.yml 文件中。
```yaml
cache: "postgres"
postgres-host: "127.0.0.1" # 或者您的主机地址
postgres-port: "5432" # 或者您的端口号
postgres-db: "townyexternal" # 或者您的数据库名称
postgres-user: "youruser" # 请修改此项
postgres-pass: "yourpass" # 请修改此项
```