【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

返信する

スマイリー
:D :) ;) :( :o :? 8-) :x :P :|
スマイリーを全て表示する

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON

トピックのレビュー
   

展開ビュー トピックのレビュー: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by gugu3 » 2021年8月13日(金) 20:41

SugarCoffee さんが書きました: 2021年8月13日(金) 18:52
gugu3 さんが書きました: 2021年8月13日(金) 16:35 今MOD鯖を運用しているのですが、MODが一定の動作を行うとサーバー.datにINFOメッセージが動作回数分?流れます
このINFO情報を消すにはMODを消す、又は入れ直す以外に方法はありませんか?

指定したINFOメッセージを流さないようにするなどのコマンドはないのでしょうか
画像ファイルから、「.batを用いてマイクラサーバを起動しており、起動中コマンドプロンプトに流れる一部のINFOメッセージを消去したい OR 何かしらの対処を実施したい」といった意味といった意味だと解釈しましたが、間違いないでしょうか?

1.12.2~1.7.10であればConsole Filterという「MODの初期起動が終わった後に出力されるコンソール中に文字列XXXが含まれていたらその行を非表示にする」といったぴったりなMODがあるようです。
Curseforge console-filter

modsフォルダに配置後configフォルダに生成されるconfigの内容を

コード: 全て選択

# Configuration file

general {
    # Any console messages containing one of these strings will be hidden.
    S:messagesToFilter <
ここに:以降に含まれている削除したいメッセージを記述
(attachCapabilitiesEventなどログの重要性が低くや誤削除されるメッセージが少なさそうな文字列)
     >
}
でコマンドプロンプト上でもフィルタリングできるかと思います。
1.16.4などであれば対応MODが無いようなので、log4jの設定ファイルを直接変更あるいは、.bat中でlog4j.xmlの参照先を変更する。
ファイルに出力し、その上で文字列除去操作を行うといった手段があります。

Console Filter非対応Forgeの場合はどうしてもといった理由がない限り、ファイル出力操作を用いたものをオススメします。
log4jについては私もよく分かっていませんし、ファイル出力操作なら非常にお手軽です。

(log4jのブロック中に<RegexFilter regex=".* test .*" onMatch="DENY" onMismatch="NATURAL"/>を入れれば除去できそうな気もしますが、いまいちうまく行かない状態です)

ファイル出力はサーバ起動.batに少し付け足し+置換用.bat(forとfindstrがあればフィルタリングはできたと思います)の用意くらいでできますが、量が多くなるので希望があれば追記します。

その解釈で間違いなく、ご紹介頂いたMODを導入したらフィルターが働いてINFOメッセージがなくなりました。
今回、助けていただきありがとうございました。

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by SugarCoffee » 2021年8月13日(金) 18:52

gugu3 さんが書きました: 2021年8月13日(金) 16:35 今MOD鯖を運用しているのですが、MODが一定の動作を行うとサーバー.datにINFOメッセージが動作回数分?流れます
このINFO情報を消すにはMODを消す、又は入れ直す以外に方法はありませんか?

指定したINFOメッセージを流さないようにするなどのコマンドはないのでしょうか
画像ファイルから、「.batを用いてマイクラサーバを起動しており、起動中コマンドプロンプトに流れる一部のINFOメッセージを消去したい OR 何かしらの対処を実施したい」といった意味といった意味だと解釈しましたが、間違いないでしょうか?

1.12.2~1.7.10であればConsole Filterという「MODの初期起動が終わった後に出力されるコンソール中に文字列XXXが含まれていたらその行を非表示にする」といったぴったりなMODがあるようです。
Curseforge console-filter

modsフォルダに配置後configフォルダに生成されるconfigの内容を

コード: 全て選択

# Configuration file

general {
    # Any console messages containing one of these strings will be hidden.
    S:messagesToFilter <
ここに:以降に含まれている削除したいメッセージを記述
(attachCapabilitiesEventなどログの重要性が低くや誤削除されるメッセージが少なさそうな文字列)
     >
}
でコマンドプロンプト上でもフィルタリングできるかと思います。
1.16.4などであれば対応MODが無いようなので、log4jの設定ファイルを直接変更あるいは、.bat中でlog4j.xmlの参照先を変更する。
ファイルに出力し、その上で文字列除去操作を行うといった手段があります。

Console Filter非対応Forgeの場合はどうしてもといった理由がない限り、ファイル出力操作を用いたものをオススメします。
log4jについては私もよく分かっていませんし、ファイル出力操作なら非常にお手軽です。

(log4jのブロック中に<RegexFilter regex=".* test .*" onMatch="DENY" onMismatch="NATURAL"/>を入れれば除去できそうな気もしますが、いまいちうまく行かない状態です)

ファイル出力はサーバ起動.batに少し付け足し+置換用.bat(forとfindstrがあればフィルタリングはできたと思います)の用意くらいでできますが、量が多くなるので希望があれば追記します。

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by gugu3 » 2021年8月13日(金) 16:35

今MOD鯖を運用しているのですが、MODが一定の動作を行うとサーバー.datにINFOメッセージが動作回数分?流れます
このINFO情報を消すにはMODを消す、又は入れ直す以外に方法はありませんか?

指定したINFOメッセージを流さないようにするなどのコマンドはないのでしょうか[gyazo]https://gyazo.com/bc25d81b75b521b70c955c8e2184e574[/gyazo]

Re: サーバー起動中cmdに表示されるログのうち、プレイヤー名のみ別の色で表す方法はありますか?

by SugarCoffee » 2021年3月12日(金) 19:03

server-owner.DPDM さんが書きました: 2021年3月11日(木) 20:11 【ゲームバージョン】1.12.2
【サーバー分類】MODサーバー(リア友のみの限定公開)
【導入MOD 】MODパック:SevTech-Ages 3.1.7 ※追加導入なし
【導入PiugIn】なし
【OS】Windows 10 Home
【動作環境】CPU:AMD Ryzen 5 3600
      GPU:ASRock RADEON RX 5700 XT

 件名のように上記の環境でmodサーバーを立てるとき、ServerStart.batから起動しSTOPを打ち込んで終了させると思いますが、cmd(黒画面)に表示されるログのうち、私が必要としているのはプレイヤーの入退室とプレイヤーの実績解除のみです。
 調べてみたところ、プレイヤーの入退室や実績解除のみ表示する方法なくても、cmdの機能拡張を導入することでリア友のプレイヤー名(特定の文字列)に色を付けることができるようでした。
 しかし、私は趣味でプログラミングをするわけでもなく、情報系の技術者でもないので何が書いてあるのかいまいち理解できませんでした。(BASICはほんの…ほんの少しだけ、触ったのですが…)
 そこで掲示板の達人の皆さまにお聞きすれば、なんとかなるかもしれないと思い質問しました。minecraftの質問から若干ずれているかもしれませんが、目的が達成できれば何でも良いので、ご回答よろしくお願いします。
コマンドプロンプト上に流れる一部のログを色によって識別可能にする方法は分かりかねますが、サーバログを見た感じログ抽出だけであればさほど難しくないです。

ログ抽出方法としてはプログラミングによる抽出や、正規表現による置換、Excelを用いたゴリ押しなど様々な方法が考えられますが、ログ参照頻度が高くない場合は、正規表現を用いた方法が手っ取り早いかと思います。
正規表現を用いた方法としてはサクラエディタ等の正規表現に対応したエディタをインストールし、logフォルダにあるログをそのエディタを用いて開きます。(最後にサーバを起動した際のログ以外は解凍して開く必要があります)

入退室情報などを抽出したいログをサクラエディタで開いたらメニューの検索->置換を押し、正規表現にチェックを入れ以下の内容を必要に応じて変更してすべて置換ボタンを押します。
  1. 置換前に^(?!.*the game).*$を入力し、置換後には何も入力せずすべて置換
  2. 置換前に^\r\nを入力し、置換後には何も入力せずすべて置換
^(?!.*the game).*$は1行中にthe gameという単語が含まれない行。
^\r\nは1行が空行(厳密には改行コードCRLFのみの行)を指定しています。

つまりこの2つを指定してすべて置換することで、"the gameという単語が含まれない行は行ごと削除せよ"という意味になります。
the gameはプレイヤー接続時か切断時に必ず含まれている単語なので結果として入退室情報のみを抽出することができます。

もちろんthe gameに限らずあらゆるアルファベットや空白を指定できるためhas made the advancementに変更すれば、プレイヤーが実績を獲得した際のログだけが抽出できます。

※ただし、正規表現では括弧や.などの一部記号はエスケープという特殊な処理をする必要があります。大抵は記号の前に\を付け加えます。
例[net.minecraft.server.dedicated.DedicatedServer]が含まれる行だけが欲しい場合↓
^(?!.*\[net\.minecraft\.server\.dedicated\.DedicatedServer\]).*$

MODによってはログ形式が変更されてしまうため、実際のログに合わせた正規表現にする必要がありますが、よほど変更されない限り少しの変更で対応できます。

だいぶ駆け足で記述したため分かりづらい部分があるかもしれません。不明な点など追記していただければ、補足します。

サーバー起動中cmdに表示されるログのうち、プレイヤー名のみ別の色で表す方法はありますか?

by server-owner.DPDM » 2021年3月11日(木) 20:11

【ゲームバージョン】1.12.2
【サーバー分類】MODサーバー(リア友のみの限定公開)
【導入MOD 】MODパック:SevTech-Ages 3.1.7 ※追加導入なし
【導入PiugIn】なし
【OS】Windows 10 Home
【動作環境】CPU:AMD Ryzen 5 3600
      GPU:ASRock RADEON RX 5700 XT

 件名のように上記の環境でmodサーバーを立てるとき、ServerStart.batから起動しSTOPを打ち込んで終了させると思いますが、cmd(黒画面)に表示されるログのうち、私が必要としているのはプレイヤーの入退室とプレイヤーの実績解除のみです。
 調べてみたところ、プレイヤーの入退室や実績解除のみ表示する方法なくても、cmdの機能拡張を導入することでリア友のプレイヤー名(特定の文字列)に色を付けることができるようでした。
 しかし、私は趣味でプログラミングをするわけでもなく、情報系の技術者でもないので何が書いてあるのかいまいち理解できませんでした。(BASICはほんの…ほんの少しだけ、触ったのですが…)
 そこで掲示板の達人の皆さまにお聞きすれば、なんとかなるかもしれないと思い質問しました。minecraftの質問から若干ずれているかもしれませんが、目的が達成できれば何でも良いので、ご回答よろしくお願いします。

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by Seaoftrees » 2020年12月06日(日) 02:40

Paper 1.16.4-318にて、/whitelist add <PlayerName>コマンドのみを使用させたいのですができません。
/whitelist removeや/whitelist offなどのコマンドを使用させたくなく、以下のような設定をコンソール上で行いました。

コード: 全て選択

/pex group default add minecraft.command.whitelist.add
/pex group default add bukkit.command.whitelist.add
しかし、実際にプレイヤーとしてログインして実行すると赤文字で権限がないと怒られました。
なお実行時、コンソールにエラーの類は一切出ていません。

使用しているプラグインは
CoreProtect, EnhancedTools, LunaChat*, Multiverse-Core, Multiverse-Portals, PermissionsEx*, PexTabCompleter, Suicide*, Woodcutter, WorldEditです。
EnhancedToolsおよびWoodcutterについては私が採掘を楽にするためだけに自作したものになります。
また、PermissionExは1.23.5となります。

引数を使うため以下も試しましたが駄目でした。

コード: 全て選択

/pex group default add minecraft.command.whitelist.add.*
/pex group default add bukkit.command.whitelist.add.*
どうすれば/whitelist add <PlayerName>コマンドのみを使用させることができるようになりますか?

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by ogaki_Do » 2020年11月17日(火) 13:13

ogaki_Do さんが書きました: 2020年11月15日(日) 14:47 私は現在IntelliJ IDE でbukkitプラグインを作成しています。
プラグインの設定にConfigを使いたいのですが、コンパイル時に.jar内にconfig.ymlを入れる方法がわかりません。どのように設定するのでしょうか?
現在はWinRARでコンパイル後に突っ込んで対処しています。
また私はIntelliJ を使うのは初めてなのでよくわかりません。どうぞよろしくお願いします。
解決することができたので報告いたします。
1 , config.ymlをplugin.ymlと同じフォルダ(今回は/src/main/resources)にいれます。
2,pom.xmlを開き <include>plugin.yml</include> の次の行に <include>config.yml</include> を追記します。
3,保存してコンパイルすれば完了です。

yamagami2211 様 Seaoftrees 様協力ありがとうございました。

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by ogaki_Do » 2020年11月16日(月) 09:22

Seaoftrees さんが書きました: 2020年11月16日(月) 00:27
ogaki_Do さんが書きました: 2020年11月15日(日) 14:47 私は現在IntelliJ IDE でbukkitプラグインを作成しています。
プラグインの設定にConfigを使いたいのですが、コンパイル時に.jar内にconfig.ymlを入れる方法がわかりません。どのように設定するのでしょうか?
現在はWinRARでコンパイル後に突っ込んで対処しています。
また私はIntelliJ を使うのは初めてなのでよくわかりません。どうぞよろしくお願いします。
ファイルを直接ぶっこまなくても、plugin.saveDefaultConfig();すれば勝手にファイルができたような気がします......タブン
IDEの種類に関係なく、Javaで(Kotlinで書いてたらKotlinに読み替えてください)下のページのように記述すればできるはずです。
https://mcmodding.jp/modding/index.php/ ... 4%E6%96%B9
yamagami2211 さんが書きました: 2020年11月16日(月) 00:23
ogaki_Do さんが書きました: 2020年11月15日(日) 14:47 私は現在IntelliJ IDE でbukkitプラグインを作成しています。
プラグインの設定にConfigを使いたいのですが、コンパイル時に.jar内にconfig.ymlを入れる方法がわかりません。どのように設定するのでしょうか?
現在はWinRARでコンパイル後に突っ込んで対処しています。
また私はIntelliJ を使うのは初めてなのでよくわかりません。どうぞよろしくお願いします。
resourcesの上で右クリック->新規->ファイルで追加できます。
画像
やってるはずなんですけど動かないんですよねぇ…直接入れてあげると動いてくれるんですけど。
ほかに何か忘れているところありますか?

https://gyazo.com/be5c6f8128f016ef211381c82438724c

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by Seaoftrees » 2020年11月16日(月) 00:27

ogaki_Do さんが書きました: 2020年11月15日(日) 14:47 私は現在IntelliJ IDE でbukkitプラグインを作成しています。
プラグインの設定にConfigを使いたいのですが、コンパイル時に.jar内にconfig.ymlを入れる方法がわかりません。どのように設定するのでしょうか?
現在はWinRARでコンパイル後に突っ込んで対処しています。
また私はIntelliJ を使うのは初めてなのでよくわかりません。どうぞよろしくお願いします。
ファイルを直接ぶっこまなくても、plugin.saveDefaultConfig();すれば勝手にファイルができたような気がします......タブン
IDEの種類に関係なく、Javaで(Kotlinで書いてたらKotlinに読み替えてください)下のページのように記述すればできるはずです。
https://mcmodding.jp/modding/index.php/ ... 4%E6%96%B9

Re: 【総合】トピック立てるまでもない質問【サーバープラグイン/マルチサーバー運用】

by yamagami2211 » 2020年11月16日(月) 00:23

ogaki_Do さんが書きました: 2020年11月15日(日) 14:47 私は現在IntelliJ IDE でbukkitプラグインを作成しています。
プラグインの設定にConfigを使いたいのですが、コンパイル時に.jar内にconfig.ymlを入れる方法がわかりません。どのように設定するのでしょうか?
現在はWinRARでコンパイル後に突っ込んで対処しています。
また私はIntelliJ を使うのは初めてなのでよくわかりません。どうぞよろしくお願いします。
resourcesの上で右クリック->新規->ファイルで追加できます。
画像

ページトップ