Hytale用Votifierプラグイン
Top-Gamesが開発したHytaleサーバー用モダン投票プラグイン。設定可能なティアシステムで投票したプレイヤーに自動的に報酬を与えます。
要件
- 動作中のHytaleサーバー
- Java 25以上
- WebServerプラグインがインストール済み(Hytale推奨プラグイン)
- サーバー設定ファイルへのアクセス
SimpleVotifierのインストール
プラグインをインストール
SimpleVotifier.jarファイルをHytaleサーバーのmods/フォルダにコピーしてください。
mods/SimpleVotifier.jar
WebServerを確認
WebServerプラグイン(Hytale推奨プラグイン)がインストールされ、正常に動作していることを確認してください。
サーバーを起動
Hytaleサーバーを起動して、SimpleVotifierが自動的に設定を生成するようにします。
プラグインを設定
必要に応じて生成された設定ファイルを編集してください(設定セクションを参照)。
設定
初回起動後、SimpleVotifierは自動的に設定ファイルmods/SimpleVotifier/config.jsonを作成します。
デフォルト設定
mods/SimpleVotifier/config.json
{
"language": "ja",
"token": "AbCdEfGh123456789XyZ0123",
"allowedIps": [],
"logVotes": true,
"broadcastVotes": true,
"rewards": {
"enabled": false,
"monthlyReset": true,
"everyVoteCommands": [
"give {player} Plant_Crop_Carrot_Item"
],
"tiers": [
{
"votesRequired": 10,
"commands": ["give {player} Container_Bucket"]
},
{
"votesRequired": 50,
"commands": ["give {player} Armor_Iron_Head"]
},
{
"votesRequired": 100,
"commands": ["give {player} Rock_Gem_Diamond"]
}
]
},
"leaderboard": {
"enabled": true,
"format": "html",
"showVoteSites": true
},
"voteSites": [
{
"service": "Top-Games",
"url": "https://top-games.net/hytale/my-server"
}
]
}
設定オプション
| オプション | タイプ | 説明 |
|---|---|---|
language |
string | 言語コード (en, fr, es, de, it, pt, ru, uk, zh, ja) |
token |
string | HMAC認証用セキュアトークン(自動生成) |
allowedIps |
array | IPホワイトリスト(空 = すべて許可) |
logVotes |
boolean | コンソールに投票を表示 |
broadcastVotes |
boolean | 全プレイヤーに投票をブロードキャスト |
Top-Gamesの設定
トークンを取得
SimpleVotifierは自動的にトークンを生成します。設定ファイルから取得する必要があります。
mods/SimpleVotifier/config.json
Top-Gamesで設定
Top-Gamesパネルの、Hytaleサーバーの「Votifier」セクションに移動してください。
- 「SimpleVotifier」を有効にする
- サーバーのIPを入力
- ポート:デフォルトでサーバーポート + 3(例:
5523) - config.jsonからトークンを入力
接続をテスト
Top-Gamesパネルの「テスト」ボタンを使用して、通信が正常に動作していることを確認してください。
報酬システム(オプション)
SimpleVotifierには、投票ごとのコマンドとティア報酬を備えた報酬システムが内蔵されています。
報酬設定
config.json (rewards section)
{
"rewards": {
"enabled": true,
"monthlyReset": true,
"everyVoteCommands": ["give {player} Plant_Crop_Carrot_Item"],
"tiers": [
{
"votesRequired": 10,
"commands": ["give {player} Container_Bucket"]
},
{
"votesRequired": 50,
"commands": ["give {player} Armor_Iron_Head"]
},
{
"votesRequired": 100,
"commands": ["give {player} Rock_Gem_Diamond"]
}
]
}
}
プレイヤーコマンド
| コマンド | 説明 |
|---|---|
/rewards |
保留中の投票報酬を受け取る |
/vote |
設定された投票リンクを表示 |
/voteinfo |
投票統計とティア進捗を表示 |
開発者向けAPI
サードパーティプラグインはHytale EventBusを通じて投票イベントをリッスンできます。
MyPlugin.java
import com.hypixel.hytale.server.core.HytaleServer;
import net.top_games.hytale.plugins.simplevotifier.VoteEvent;
public class MyPlugin extends JavaPlugin {
@Override
protected void setup() {
HytaleServer.get().getEventBus()
.listenFor(VoteEvent.class, null)
.listen(this::onVote);
}
private void onVote(VoteEvent event) {
String username = event.getUsername();
String service = event.getServiceName();
getLogger().atInfo().log(username + " voted on " + service);
// Add your custom logic here
}
}
リーダーボード(オプション)
SimpleVotifierには、サーバーの上位投票者を表示するリーダーボードエンドポイントが含まれています。
リーダーボード設定
config.json (leaderboard section)
{
"leaderboard": {
"enabled": true,
"format": "html",
"showVoteSites": true
}
}
リーダーボードオプション
| オプション | タイプ | 説明 |
|---|---|---|
enabled |
boolean | リーダーボードエンドポイントを有効/無効にする(デフォルトは無効) |
format |
string | デフォルト出力形式:「html」または「json」(デフォルトはhtml) |
showVoteSites |
boolean | リーダーボードに投票サイトセクションを表示/非表示 |
リーダーボードエンドポイント
GET https://your-server:port/Top-Games/SimpleVotifier/leaderboard
トラブルシューティング
- WebServerプラグインがインストールされているか確認
- サーバーログでエラーメッセージを確認
- HMAC署名が正しく生成されているか確認
- allowedIps設定を確認
- サーバーログでエラーメッセージを確認
- rewards.enabledがtrueに設定されていることを確認
- 設定のコマンド構文を確認
- プレイヤーがオンラインか確認、または/rewardsで受け取り
- monthlyResetが有効か確認
- last_reset.txtファイルで最終リセット日を確認
- リセットは新しい月の最初の投票でトリガーされます
情報
機能
- 安全なHMAC-SHA256認証
- 内蔵報酬システム
- 10言語対応
- 全プレイヤーへの投票ブロードキャスト
- 月次投票リセット
- サードパーティプラグイン用イベントAPI
- リーダーボードエンドポイント(HTML/JSON)
設定まとめ
- WebServerプラグインをインストール
- SimpleVotifierをインストール
- config.jsonを設定
- Top-Gamesで設定
- 接続をテスト
- 報酬を設定
- リーダーボードを設定