【PMMP】: [Network] Sto(ryの対処法

鯖を開けると

: [Network] Stopped interface pocketmine\network\RakLibInterface due to RakLib Thread crashed [raklib\server\UDPServerSocket]: socket_bind(): unable to bind address [98]: Address in use

と表示されて入れない!と直面した方が少なからずいるかと思います。

この対処法は“phpタスクを終了させる”だけです(´・ω・`)


■Androidの場合
マルチタスクを起動し終了させるだけです。
直らない場合は再起動でおk


■PC全般の場合
Windows,macOS,Linux共通です。
タスクマネージャー等から“php“を強制終了させて下さい。


【PMMP】VPNからの接続を遮断する!

旅行なうのあかけですお(^ω^)

IPBANしても次から次へと回避してくる荒らし多いですよねぇ…

今回はそれを解決するプラグイン「VPNGuard」を紹介します(´へωへ`*)


■ダウンロード

ダウンロードはこちらです。感謝して使用しましょう。


■使用方法

Easy installation requires almost no configuration, simply download and install.
Found a hosting network not blocked by VPNGuard? Please let us know!

英文を見る限り「細かい設定を使用する必要はありません!導入のみでokです。」

いや~凄いっ!( ´•ω•`)


…..
…..
乙です!

【PMMP】土地を細く編集出来るiprotector

どうも、ウオオオオアアアア\( ‘ω’)/アアアアアッッッッ!!!!!な赤毛です(´へωへ`*)

皆さんは特定の土地でPVPを無効にしたいとか思った事有りません?

この希望を叶える事が出来るプラグイン「iprotector」を紹介します!


〇ダウンロードリンク
公式フォーラムから入手可能です。


■土地指定
/area pos1で左上の一番下のブロックを破壊

/area pos2で右下の一番上のブロックを破壊

■土地保護
/area create (名前)で保護完了

■衝撃無効
/area flag (名前) god onで処理完了

■可動物保護
/area flag (名前) touch onで保護完了

■編集無効
/area flag (名前) edit onで処理完了


と…他にも合ったかと思います。

詳しくはプラグイン解凍する形して確認下さい。

使えるsrc一挙紹介ー

面倒臭いんで一気に纏めますね(ニッコリ)

1.Genisys
速さ○
機能◎
然しバグが多い。
Php7に対応してます(^ω^)

2.ClearSky
速さ◎
機能○
動作が物凄く早い。
然しphp7に対応してないそうです(´・_・`)

3.hmy2001
対応が非常に早い。

4.NightMare_3832
0.14.1には手動で対応させる必要がありますね。
日本人が開発を手掛けているので安心して利用できます。

5.ImagicalMine
更新が物凄く早いですね!
然しバグが非常に多いので….ウン

“使えるsrc一挙紹介ー” の続きを読む

【PMMP】VIPslots

どうも今竹輪、赤毛です~。

今回は推奨プラグイン「VIPslots」を紹介しますね。

開発者:Author’s Response氏
サイト:こちら

こちらのプラグインは満員時でも指定した名前を入れる様にするものです。

コマンドはこちら。

/vips

導入方法は従来と同様です。

ではでは~

[PMMP]鯖を軽量化する方法

どうも、今日は。Akaketouiiですぅ。

今日の午後は心なしか暖かく感じました。

春のおとずれでしょうか。

さてさて今回はMinecraftServerに使われるPocketMine-MPを軽量化する方法を紹介しますよー

参考程度に見ておいて下さい笑

1.王道pocketmine.ymlを弄る
はい、簡単な方法ですね。
.ymlには鯖を軽くするポイントが沢山詰め込まれてます。

・チャンクを弄る
※チャンク数を弄る事によって見える範囲は狭くなりますが結構軽くなります!
※然し鯖に入る時間が長くなる場合が御座います。
以下最軽量設定です。
max-chunks:
#Limit of chunks to load per player, overrides chunk-sending.max-chunks
trigger-limit: 1 

#Do chunk garbage collection on trigger
trigger-chunk-collect: false

#Trigger on low memory
low-memory-trigger: true

chunk-sending:
#Amount of chunks sent to players per tick
per-tick: 1 
#Amount of chunks sent around each player
max-chunks: 1 
#Amount of chunks that need to be sent before spawning the player
spawn-threshold: 1 
#Save a serialized copy of the chunk in memory for faster sending
#Useful in mostly-static worlds where lots of players join at the same time
cache-chunks: false

chunk-ticking:
#Max amount of chunks processed each tick
per-tick: 1
#Radius of chunks around a player to tick
tick-radius: 1
light-updates: false
clear-tick-list: false

chunk-generation:
#Max. amount of chunks in the waiting queue to be generated
queue-size: 1
#Max. amount of chunks in the waiting queue to be populated
population-queue-size: 1

world-caches:
disable-chunk-cache: false
low-memory-trigger: false

・処理方法を変える
※1〜4が回線負担、7〜10がCPU負担です。
※ご自分の環境を元に弄ってみて下さい。
#Compression level used when sending batched packets. Higher = more CPU, less bandwidth usage
compression-level: 1~4 or 7~10

2.srcを変えてみる
ある程度PMMPを使ってる方には簡単な作業です。
劇的に軽くなる例も有りますので是非実践してみて下さい。

・Genisys
レッドストーン要素や天候要素が実装されています。
ダウンロードはこちらです

Clearsky-master
公式と比較にて約20倍高速とのこと。
ダウンロードはこちらです

・ImagicalMine
更新が圧倒的に早いです。
ダウンロード先はこちらです

等々….他にも沢山有ります。暇なときにでも探してみてはいかがでしょうか。

3.不必要なプラグインを抜く
当たり前すぎるので書こうか書かないか迷っていましたがやっぱり書きます。
はい、当たり前の方法です。
不必要と感じたらじゃんじゃん抜きましょう。

4.php7に対応させる
上手く行けば今の十倍以上高速になります。
然しそれなりの技術又時間がいります…。
対応方法について詳しくはヨッシー氏が解説しているのでどうぞ。

Linux対応方法
windows対応方法

5.弓矢等を定期的に削除する
私は詳しくありませんがPVP鯖等で落ちてるアイテム残骸等を除去する事により負担がかかりにくくなるそうです。

6.定期的に再起動させる
再起動することにより何故か軽くなります笑
導入して損は無いと思いますので試してみて下さい。
先ずはASRというプラグインをダウンロード&導入して下さい。
次にstartを以下の様に弄ります。

・start.cmdの場合
@echo off
TITLE Pocketmine-MP: Auto restart
cd /d %~dp0
netstat -o -n -a | findstr 0.0.0.0:19132>nul
if %ERRORLEVEL% equ 0 (
    echo Your server is running.
    goto :loop
) ELSE (
    echo Starting your PocketMine-MP server.
    goto :StartPM
)


:loop
echo Checking if server is online…
PING 127.0.0.1 -n 10 >NUL


netstat -o -n -a | findstr 0.0:19132>nul
if %ERRORLEVEL% equ 0 (
    echo Server is running.
    goto :loop
) ELSE (
    echo Starting PocketMine-MP in 10 seconds…
    PING 127.0.0.1 -n 10 >NUL
    goto :StartPM
)


:StartPM
if exist bin\php\php.exe (
    set PHP_BINARY=bin\php\php.exe
) else (
    set PHP_BINARY=php
)

if exist PocketMine-MP.phar (
    set POCKETMINE_FILE=PocketMine-MP.phar
) else (
    if exist src\pocketmine\PocketMine.php (
        set POCKETMINE_FILE=src\pocketmine\PocketMine.php
    ) else (
        echo “Couldn’t find a valid PocketMine-MP installation”
        pause
        exit 1
    )
)

#if exist bin\php\php_wxwidgets.dll (
#    %PHP_BINARY% %POCKETMINE_FILE% –enable-gui %*
#) else (
    if exist bin\mintty.exe (
        start “” bin\mintty.exe -o Columns=88 -o Rows=32 -o AllowBlinking=0 -o FontQuality=3 -o Font=”DejaVu Sans Mono” -o FontHeight=10 -o CursorType=0 -o CursorBlinks=1 -h error -t “PocketMine-MP” -i bin/pocketmine.ico -w max %PHP_BINARY% %POCKETMINE_FILE% –enable-ansi %*
    ) else (
        %PHP_BINARY% -c bin\php %POCKETMINE_FILE% %*
    )
#)
goto :loop

・start.shの場合
#!/bin/bash
DIR=”$(cd -P “$( dirname “${BASH_SOURCE[0]}” )” && pwd)”
cd “$DIR”

DO_LOOP=”yes”

while getopts “p:f:l” OPTION 2> /dev/null; do
case ${OPTION} in
p)
PHP_BINARY=”$OPTARG”
;;
f)
POCKETMINE_FILE=”$OPTARG”
;;
l)
DO_LOOP=”yes”
;;
\?)
break
;;
esac
done

if [ “$PHP_BINARY” == “” ]; then
if [ -f ./bin/php7/bin/php ]; then
export PHPRC=””
PHP_BINARY=”./bin/php7/bin/php”
elif [ type php 2>/dev/null ]; then
PHP_BINARY=$(type -p php)
else
echo “Couldn’t find a working PHP binary, please use the installer.”
exit 1
fi
fi

if [ “$POCKETMINE_FILE” == “” ]; then
if [ -f ./PocketMine-MP.phar ]; then
POCKETMINE_FILE=”./PocketMine-MP.phar”
elif [ -f ./src/pocketmine/PocketMine.php ]; then
POCKETMINE_FILE=”./src/pocketmine/PocketMine.php”
else
echo “Couldn’t find a valid PocketMine-MP installation”
exit 1
fi
fi

LOOPS=0

set +e
while [ “$LOOPS” -eq 0 ] || [ “$DO_LOOP” == “yes” ]; do
if [ “$DO_LOOP” == “yes” ]; then
“$PHP_BINARY” “$POCKETMINE_FILE” $@
else
exec “$PHP_BINARY” “$POCKETMINE_FILE” $@
fi
((LOOPS++))
done

if [ ${LOOPS} -gt 1 ]; then
echo “Restarted $LOOPS times”

fi
※DO_LOOPをyesにするだけです。


ん…まぁこんなかんじですね。

その他意見があればコメント欄にてどうぞ。

以上、あかけでした〜

[PMMP]お勧め称号プラグイン!

どうも、今日は。Akaketouiiです。

先程まで買い物して御飯を食ってましたw。

ジョイフルというファミリーレストランで「ペッパーハンバーグ&若鶏チキン」というメニューを選びました。

いや〜絶品です!

皆さんも機会があれば行ってみて下さい!

さてさて今回は題名通りお勧めの称号プラグインを紹介しますよ。

—————————————————————–
開発者様この場を借りてお詫び申し上げます。
プラグイン名;SignRanks
開発&配布者:yamasin105さん
運営鯖:やましんコアPVPサーバー
——————————————————————
ダウンロード先はこちらです。

生活鯖を運営している鯖主さんはこんなプラグインが欲しいと思っていませんか?
こんな称号を追加するプラグインです!
使い方は画像の通りです。簡単ですね。
一行目:下ブロックを岩盤にしたかったら「yu」通常は「ka」
二行目:称号名
三行目:値段
四行目:コメント
又本プラグインはEconomy,PocketMoneyと両方に対応してるらしいです。
称号看板が出来ましたら二回タッチで購入ができ名前の横に称号名が表示されます。
いや〜便利ですね!。やましんさんに感謝ですm(__)m
又この看板は量産できるため非常に便利です。
生活鯖に持って来いですね。
以上あかけでした。

[PMMP]0.14に対応させる方法

どうも、今日は。Akaketouiiです。

いや〜まだまだ寒いですね。

今日未明MinecraftPE0.14.0が全てのプラットフォームにリリースされましたね。

今回の記事ではPMMPを0.14に対応させる方法を残しておきます。

参考程度に見ておいて下さい(汗

必要な物
・src
・やる気

srcを開いて下さいな。中を弄りまっする。
以下、編集する処です。

{src/pocketmine/pocketmine.php}
const MINECRAFT_VERSION = “v0.13.1 alpha”;

const MINECRAFT_VERSION_NETWORK = “0.13.1”;

const MINECRAFT_VERSION = “v0.14.0 alpha”;
const MINECRAFT_VERSION_NETWORK = “0.14.0”;に編集


{src/pocketmine/network/network.php}
if((&pk = $this ->getpacket(ord($buf{0}))) !== null11{

if((&pk = $this ->getpacket(ord($buf{1}))) !== null11{に編集


{src/pocketmine/network/RakLibInterface.php}
if(!isset($packet->__encapsulatedPacket)){
  $packet->__encapsulatedPacket = new CachedEncapsulatedPacket;
  $packet->__encapsulatedPacket->identifierACK = null;
$packet->__encapsulatedPacket->buffer = $packet->buffer;
+ $packet->__encapsulatedPacket->buffer = chr(0x8e) . $packet->buffer;
  if($packet->getChannel() !== 0){
  $packet->__encapsulatedPacket->reliability = 3;
  $packet->__encapsulatedPacket->orderChannel = $packet->getChannel();

if($pk === null){
  $pk = new EncapsulatedPacket();
$pk->buffer = $packet->buffer;
+ $pk->buffer = chr(0x8e) . $packet->buffer;
  if($packet->getChannel() !== 0){
  $packet->reliability = 3;
  $packet->orderChannel = $packet->getChannel();に編集


{src/pocketmine/network/protocol/Info.php}
const CURRENT_PROTOCOL = 39;

const CURRENT_PROTOCOL = 45;に編集

const LOGIN_PACKET = 0x8f;を

const PLAY_STATUS_PACKET = 0x90;に編集


これで終了です。お疲れ様でした。
んん、まぁどうでしたか?
srcは代表として挙げられるものと言えばNigetMare氏作成、IMagicalMine、Genisys等が有りますね。
質問ありましたらコメント欄にてどうぞ。

mfmfnekoさん作成の記事を参考に本記事を作成致しました。
この場を借りてお詫び申し上げます。