【VPS】PocketMineの簡単ファイル操作

どうもこんにちは、鯖の管理ができていないヨッシーです((

 

今回はPocketMineのファイル操作(プラグインやpocketmine.ymlなど)を手元のスマートフォンやパソコンから操作する方法を教えます。

別にPocketMineに限ったことではありませんが、とりあえずVPS内のファイルを操作する方法です。

※manage.conoha.jpなどのWebコンソールは不使用

準備するもの

  • SFTPプロトコル対応のFTPソフトウェア・アプリケーション
  • 安定した通信環境
  • 起動中のVPS
  • VPSのユーザー名とパスワード
  • 22番ポート、または通信に使うポートの開放

 

手順①

FTPソフトウェアにてVPSのIPアドレス(ホスト)、ユーザー名とパスワードを選択し、FTP・SFTP・FTPSの中から[SFTP]にマークしプロパティを保存。

 

手順②

VPSに接続を試みましょう。接続が完了したら/home/ユーザー名/ を開きましょう。するとインストール済みのPocketMineのファイルフォルダがあると思います。ここにパソコンやスマートフォンにダウンロードしたプラグインファイル(.phar)をアップロードすることで動作するようになります。

 

どうでしたか?

自分は全ての作業(この記事を書くのも)iPhoneでやっているので、こちらのSFTP対応クライアントの有料版を利用しています。

また、この方法でsrcの編集や取り替えもできるのでMinecraft PEのアップデートにもすぐに対応することができます。

無料FTPクライアントソフトウェアは多く存在しています。自分の用途に合ったものをお選びください。

【PocketMine】0.14.0対応方法

どうもこんにちは、最近この冒頭文のネタすら無くなりかけているヨッシーです(汗)

 

先日、とある別の方が書いた「Minecraft PE 0.14.0対応方法だとエラーが出る」と言われてこちらでも書くことにします。

image

今回の実行環境

GNU/Linux CentOS 7.2

VPS: ConoHa

src: NIGHTMARE(ナイトメア)

 

〜準備するもの〜

VPSの場合

  • SFTP対応クライアントソフトウェア
  • 0.13.2時代のsrc or 0.14.0のsrc

 

パソコン(WindowsやMacなど)の場合

  • テキストエディタ
  • 0.13.2時代のsrc or 0.14.0のsrc

では始めていきましょう。

 

手順①

/src/pocketmine/network/protocol/Info.php

image

const CURRENT_PROTOCOL = 38;

の「38」を、「45」に書き換えましょう。

 

手順②

/src/pocketmine/PocketMine.php

を開き、75〜79行目あたりから
const VERSION = '1.7dev';
const API_VERSION = "1.13.1";
const CODENAME = "[NIGHTMARE]";
const MINECRAFT_VERSION = "v0.13.2 alpha";
const MINECRAFT_VERSION_NETWORK = "0.13.2";

 

このコードを、
const VERSION = '1.8dev';
const API_VERSION = "1.14.0";
const CODENAME = "[NIGHTMARE]";
const MINECRAFT_VERSION = "v0.14.0 alpha";
const MINECRAFT_VERSION_NETWORK = "0.14.0";

 

に書き換えましょう。

これで対応は終了です!

 

start.cmd、もしくはstart.shを起動してPocketMineの動作を確認しましょう。

最近ではGenisysやImagicalMineなど、srcによって非常に大きな違いが出てくるようになりました。

今回はNIGHTMAREで行いましたが、他srcでの動作は保証いたしません。


 

関連サイト

 

PocketMine-MP Official Web

【Windows】PocketMine PHP7対応してみよう

PocketMine用語集

日本製のPHP7対応src『iPocket』

【PocketMine】DevToolsでプラグインを解凍 / 圧縮する方法

どうもこんにちは、LINEスタンプ描いてみたいヨッシーです。絵心無いけどね(キリッ)

 

今回はPocketMine-MPを使ってプラグインの解凍 / 圧縮をする方法をご紹介します。


そもそも解凍とか圧縮とかして何するの?

プラグインのコードを書き換えたいときには解凍、プラグインとして配布したり動作させたいときには圧縮をします。

圧縮されているプラグインは拡張子が.pharになっています。


 

動作環境…

  • GNU/Linux CentOS 7.2
  • src: 1.8dev NIGHTMARE
※Windowsでもプラグイン導入方法ややり方は全く変わりありません。躊躇なくやり進めてください。

前提として、解凍したいプラグインフォルダ / プラグインを/plugins/に入れておいてください。

手順①

DevTools配布サイトから「DevTools_v1.10.0.phar」をダウンロードします。

 

手順②

ダウンロードしたファイルを/plugins/フォルダに入れてください。

 

手順③

サーバーを起動します。

ここから手順が二つに分かれます。


 

圧縮したい場合

/makeplugin <プラグイン名>

のコマンドを実行し、/plugins/devtools/ 内を確認してください。phar拡張子のファイルがあると思います。それがプラグインです。

プラグイン名が’Test’の例: /makeplugin Test

 

解凍したい場合

/extractplugin <プラグイン名>

のコマンドを実行し、/plugins/devtools/ 内を確認してください。フォルダ形式の解凍されたプラグインがあると思います。それがフォルダ形式のプラグインです。


 

また、srcを使用している場合は/makeserverコマンドを実行するとPocketMine-MP.pharが生成されます。

他にも/checkpermというコマンドがありますが、ここでは説明は省きます。

/makeserver: Creates a PocketMine-MP Phar
/makeplugin <pluginName>: Creates a Phar plugin from a unarchived one, to be able to distribute it
/extractplugin <pluginName>: Extracts a Phar plugin to its source code form
/checkperm <node> [playerName]: Checks a permission value for the current sender, or a player

配布ページより引用

 


 

関連サイト

 

公式Jenkins

PocketMine DevTools – GitHub

【Windows】PocketMine PHP7対応してみよう

どうもこんにちは、明日英検の二次試験です。コミュ障ではありませんが心配です(´・ω・`)

 

先日、こちらの記事を閲覧していただいた方から

「Windowsの場合はどうすればいいですか?」

と質問をいただいたので、記事として投稿しました。

さて、本題ですが、簡単にまとめるとLinuxより簡単です。

 

  • バイナリ(bin)を取り替える。

 

これだけです!

ではまず、バイナリの取り替えから始めましょう。

PocketMineのサーバーが入っているフォルダから「bin」フォルダを移動しておいてください。

※万が一動作しなかった時のために削除は絶対にしないでください!

 

 

①バイナリのダウンロード

こちらのGitHubプロジェクトから[Zip Download]をクリックしてファイルをダウンロードしましょう。

ダウンロードしたら右クリックして「展開する」、もしくは任意の解凍ソフトウェアでZipを解凍しましょう。

 

②導入

中からbinフォルダを取り出し、PocketMineフォルダに入れます。

 

③起動

start.cmdをクリックして実行してください。

すぐウィンドウが閉じちゃう方はプロパティから実行権限を与えてください。

 

※自分の場合は元からあったワールドデータが使えませんでした…。なのでワールド変えを機にPHP7化することをオススメします。一部のプラグインではAPIの違いでエラーが出ることもあるので、しっかりチェックしましょう。

 

どうしても起動できない場合はGitHubにあるやつをまるごと使うという点もあります。

Windows PocketMine x86-PHP7 [GitHub]

 

無理でしたらご連絡ください。可能な範囲でサポートいたします。

PocketMine用語集

どうもこんにちは、最近WordPressの挙動がおかしくて困ってるよっしーです(´・ω・`)

 

今回は鯖主になりたての方への記事ですね。コミュニティやフォーラムで交わされている専門(?)用語集です。


src

PocketMine-MP.pharのフォルダ版のこと。非圧縮形式。

 

プラグイン

サーバーに搭載できる追加要素のこと。/plugins/ フォルダにプラグインのファイル(.phar形式)をぶち込んで起動することで動作する。

 

ラグ

ラグいとも言う。通信回線がパンパンで全てのデータを送信しきれていない状態。プレイヤーの動作がカクカクになる。処理負荷とは違うところに注意。

 

プラグインフォーラム

JPForum公式フォーラムなどがある。ここではプラグインのダウンロード、アップロードが基本的に可能。アカウントを登録する必要がある。

 

サーバーリスト

その名の通り、サーバー紹介の集合体。基本的にIPアドレスや公式サイトのURLが載っている。

 

プラグインの解凍 / 圧縮

DevToolsというプラグインツールを使って.phar形式からフォルダ形式に変換することを解凍、フォルダ形式のプラグインを.phar形式にすることを圧縮と言います。Zipとはまた別のものとなります。

DevTools – PocketMine Forums

 

リソース

これはPocketMineに限らず世間でも広く使われている。CPU使用率や回線の状態、容量などを含めてリソースと言う。一般的にはCPU使用率をあらわす。

 

php.ini

PHPの設定ファイルです。基本的にここに触れることはありませんが、他の用途でも知っておくと便利なことが多いので知っておくだけでも損はないでしょう。

 

バージョン

PocketMineのバージョンのことです。最近は一部ファイルの書き換えのみで対応できることも多い。クライアントアプリ(Minecraft PE)のバージョンを指すこともあります。

 

pocketmine.yml

PocketMineのメモリー管理、読み込み可能チャンクの設定ができる。他にも言語設定が可能。(日本語化する場合はとある箇所をeng→jpnにする)。

 

起動ファイル

Windowsではstart.cmd、Linuxではstart.shのことを指す。これらを使用してPermission denied.と表示されてしまった場合は権限(Chmod・パーミッション)を777にすると起動できる。

 

PHP7

最近リリースされた高速で動作する実行エンジン。PocketMineでもバイナリが配布されていて、まだ完全な対応をこなしているサーバーは少ないものの、今後はこれが主流となるだろう。非常に軽い動作で人々を驚かせる。


 

今後も用語が増えていく場合があると思います。そのときはパート2を投稿するので、最新事情にあわせて引き続き継続していきたいと思います。

Javaで動くPocketMine『Nukkit』

どうもこんにちは、そろそろ春がやってきますね!気持ちの良い天気です(っ´ω`c)

 

今回はJavaで動作するMinecraft PEサーバーソフトウェア『Nukkit』をご紹介します。

 

NUKKIT

image

http://nukkit.cn/ – Nukkit

Javaはコンパイル型のプログラム言語で、PHPよりも圧倒的に速く高速で動作します。パソコン版MinecraftもJavaで動いていますね(ノ)^ω^(ヾ)

インストール

ダウンロード – Official Jenkins

image

ダウンロードしたらnukkit.jarにリネームしてください(^ω^)

中国製のソフトウェアで、海外からも多くの注目を集めているこのNukkit。フォーラムやプラグインも既に多く発展していて、今後が期待できる新たなサーバーソフトです。

自分はWindowsに導入してみたのですが、実行方法がわからなくて…(;´・ω・)ウーン


起動方法How to run?

※前提条件  Javaをインストール済みであること。nukkit.jarに実行権限(Chmod 777)が与えられていること。
  1. Windowsの場合はコマンドプロンプト(cmd.exe)、Linuxの場合はターミナルを起動します。
  2. コマンド”java -jar nukkit.jar“を実行してください。パスはそれぞれに応じて書き換えて実行しましょう。
  3. 起動完了!

関連サイト

Nukkit公式フォーラム – 英語対応

Nukkit公式GitHub

[Nukkit-JAVA版PocketMine-MP] Nukkitを起動させる! – haniokasaiのドキドキlinux

【最新】日本製のPHP7対応src『iPocket』

どうもこんにちは、そろそろテスト期間です。苦しいですね…(´・ω・`)
今回はPHP7の日本産PocketMine Src『iPocket』をご紹介します。

 

image

このsrcは一般的なsrcとは大きく異なり、導入するだけでWebサイト上からのサーバー管理が可能になります。

※2016/02/13現在※Web管理システム未完成

 

iPocketのGitHub。開発はtomotomoさん、maa123さん、Hmy2001さん、刹那さん、もふねこさん、みつきさんで行われています。豪華ゲスト勢ぞろいですね…。

 

現在の開発状況からどのくらい開発が進んでいるのかをチェックすることができます。

『Complete!』と載っているところは100%完成しているところですね。どうやら基礎システムはもうすでに完成している模様。


 

このシステムはULSと連携しており、コントロールパネルへのログイン成りすましが成功する確率は非常に低いでしょう。

 

まだ未完成と言っても、src部分のみであればもうすでに動かせるようです。

ちなみにPocketMineプラグイン対応とか。

 

今後に期待です!


関連サイト

 

iPocket公式ツイッター

 

iPocket関連コミュニティー

【PocketMine】PHP7のバイナリ(bin)

どうもこんにちは(ノシ ‘ω’)ノシ バンバンバンバンバンバンッ!!

今回はPocketMine用のPHP7バイナリの配布リンクを見つけたのでご紹介したいと思います。

image
https://dl.bintray.com/pocketmine/PocketMine/

 

PocketMine用のバイナリが置いてあるウェブサイトです。

PHP5のバイナリもありますが、最近はPHP7対応のsrcが多いのでPHP_7.0.x_x86_Linux(Windows・MacOS・Android・CentOS).tar.gz

をダウンロードし、start.shコマンドファイルを開き、編集します。


 

変更前
#!/bin/bash
DIR="$(cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd)"
cd "$DIR"

DO_LOOP="no"

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/php5/bin/php ]; then
export PHPRC=""
PHP_BINARY="./bin/php5/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


変更後
#!/bin/bash
DIR="$(cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd)"
cd "$DIR"

DO_LOOP="no"

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

 


パスをPHP5からPHP7に変えるだけですね。

Linux※この編集をした後に./start.shをしてPermission denied.と表示されてしまった場合、SFTP経由でstart.shファイルの権限(Chmod•パーミッション)を777にしてください。

 

PHP7対応srcは『Genisys』や『ImagicalMine』、『iPocket』などのsrcがあります。

それぞれ特徴や機能があるので、ご自分のサーバーに合わせてご利用ください。

プレイヤーの情報をGET!

どうもこんにちは、VAIOをおばあちゃんが買うと聞いて完全売り込み中のヨッシーです()

 

 

投稿が遅れてしまい、申し訳ありませんでした。

テスト期間でした(´・ω・`;)

 

さて、今回は$playerに代入された情報から色々なログインデータを取得してみます!

まず知っておいてもらいたいのは、

  • プレイヤーにはそれぞれUUIDというものがある
  • プレイヤーにはUUIDと同じようにクライアントIDというものがある
  • もちろんそれぞれの接続している回線にもIPアドレスが割り振られている

 

これだけは知っておいていただきたいです…

では、さっそく取得してみまShow!

※先に$playerには情報が代入されているものとします。詳しくはこちらも合わせてどうぞご覧ください。


$cid = $player->getloginData[clientId];


このコードは、$cidにプレイヤーのクライアントIDを代入しています。

数字の羅列ですね。

 


$uuid = $player->getUniqueId();


これは$uuidにUUIDを代入していますが、あまり用途は無いですかね…

 


$playerip = $player->getAddress();


プレイヤーのIPアドレスを取得できます。

ログインシステムでよく使われますね。

 

 

このような感じのサンプルコードがWikiにはたくさん記載されています。プラグイン開発をしたい!という方は、まずWikiを見ましょう。

【Webcrow】〜PHP7を使えるように〜

どうもこんにちは、WordPressにプラグイン入れすぎて重くなったよっしーです👍

 

今回は無料高機能レンタルサーバー『Webcrow』PHP 7の提供を開始したとお知らせに記載されていたため、ついでにこのブログのPHP7化を行いました。

 

実感としては、多少処理速度が上がったと思います。

ダッシュボードが前は重かったのですが、ダッシュボードに関しては随分軽くなって嬉しいです(ノ)^ω^(ヾ)

アップグレードして損は無いと思います。

 

image

 

備忘録:

WordPress version 4.4.1を利用した場合はPHP 5→PHP 7にそのまま移行してもエラーは出ませんでした。

個々のプラグインに関してはエラーが出る可能性もありますが、自分は出ませんでした。

 

PocketMineもPHP 7に完全対応すると良いですね!!