GS2-Scriptでサーバーサイドの機能を拡張する方法

GS2-Scriptでサーバーサイドの機能を拡張する方法

GS2-Scriptは、GS2の機能をサーバーサイドで拡張できるLuaスクリプト機能です。イベント駆動型で動作し、事前に登録したスクリプトを特定のタイミングで実行できます。本記事では、GS2-Scriptの仕組みや設定方法、活用のポイントを解説します。
Clock Icon2025.03.05

こんにちは、ゲームソリューションの出村です。

Game Server Services(GS2)には、「GS2-Script」というスクリプト機能があり、これを利用することでサーバーサイドの機能を拡張できます。スクリプトを活用することで、理想の機能を柔軟に実装できます。

本記事では、GS2-Scriptの仕組み、実行するスクリプトの設定方法、GS2-Scriptが指定できる機能の探し方について解説します。


GS2-Scriptとは?

まず、GS2-Scriptについて改めて説明します。

GS2-Scriptとは、サーバーサイドでGS2の機能を拡張するための仕組みです。
プログラミング言語としてLuaを採用しており、GS2のサーバー上で実行されます。

この機能を利用することで、GS2に標準で備わっていない機能を独自のロジックで拡張できます。
実際の動作や具体的な使用例については、GS2-ScriptによるGS2(Game Server Services)の機能拡張で解説していますので、詳細を知りたい方はぜひご覧ください。


GS2-Scriptの動作原理

GS2-Scriptは、イベント駆動型で動作します。
つまり、GS2内で特定のアクションが実行された際に、それをトリガーにする形でGS2-Scriptに登録されているスクリプトが実行されます。

これにより、例えば「プレイヤが所持しているアイテムが1個増加いたタイミングで、あらかじめ設定されたスクリプトを実行される」といった動作が可能です。

そのため、GS2-ScriptはPHPなどのWebサーバーサイドのコードのように、自由にスクリプトを実行する目的で利用することは想定されていません。
GS2-Scriptは、あくまでGS2のイベントに応じて処理を追加するための仕組みです。


GS2-Scriptの登録方法と実行方法

スクリプトの登録

スクリプトを実行するためには、事前にGS2コンソールでスクリプトを登録しておく必要があります。
登録されたスクリプトは、スクリプト名(ID)を指定することで実行するものを選択します。


実行するスクリプトを指定する方法

GS2-Scriptをどこで設定できるのかを見ていきましょう。

コンソールでの設定

GS2のコンソールから、特定のイベントに紐づくスクリプトを設定できます。
例えば、以下の画面は「GS2-Money2(課金管理機能)」の設定画面です。
ここでは、期間課金の更新タイミングで特定のスクリプトを実行するように指定ができます。

マスターデータでの設定

マスターデータを通じて、実行するスクリプトを指定することも可能です。
これが可能な場合は、マスターデータエディタに、スクリプトが指定できるようになっています。そこで指定できます。

次の画面はGS2-Lottery(抽選機能)で、スクリプトを利用して抽選する場合を指定しています。


GS2-Scriptで処理可能な機能を探す方法

GS2でどのようなトリガー(Trigger)が用意されているかは、公式ドキュメントのAPIリファレンスに記載されています。
ドキュメント内に「Script」と記載されている項目がある機能では、GS2-Scriptを利用した拡張が可能です。
詳しくは、以下のドキュメントを参照してください。


まとめ

GS2-Scriptは、GS2の各種機能をイベント駆動で拡張できるスクリプト機能です。
ただし、Webサーバーサイドのスクリプトのように自由に実行できるわけではなく、GS2のイベントをトリガーにして動作する点に注意が必要です。

GS2-Scriptを活用すれば、標準機能にないロジックを柔軟に追加できますので、ぜひ活用してみてください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.