📄 windows_service.txt
字号:
==========================================================================
Windows サービス
--------------------------------------------------------------------------
Athena を Windows のサービスとして動作させるためのドキュメントです。
==========================================================================
対応環境
--------------------------------------------------------------------------
対応OS
Windows 2000 以降 (32bit XP Pro SP2 でのみ確認)
64bit XP や Vista などでは未確認。
対応コンパイラ
VC++ (2005 Professional Edition でのみ確認)
BCC では未確認。winsvc.h と advapi32.lib があればできるかも?
==========================================================================
プログラムのコンパイル
--------------------------------------------------------------------------
·vc_make.bat のコンパイルオプションで WIN_SERVICE マクロを定義してから
プログラムをコンパイルしてください。
==========================================================================
サービスのインストール
--------------------------------------------------------------------------
·実行ファイル
Athena のフォルダ(Readmeがあるフォルダ)か、その直下の
bin フォルダに存在する必要があります。
·通常動作の確認
win32_start.bat などで普通に実行した場合に正常に動作することを
確認してください。
·アカウントの用意
Athena を起動するアカウントを用意してください。
セキュリティをそれほど考えないなら、通常自分がログインしている
アカウントでも OK です。
専用アカウントを用意した場合、ユーザーの権限を適切に設定してください。
また、Athena フォルダのセキュリティも設定し、用意したアカウントから
アクセスできるようにしておいてください。
·インストールファイルの編集
bin/tool/inst_winsvc.bat をエディタで開き、必要なら Athena フォルダや、
実行ファイル、設定ファイルのパスなどを修正してください。
ただし、実行ファイルは Athena フォルダか、その直下の bin フォルダの
どちらかに存在している必要があります。
·インストールファイルの実行
inst_winsvc.bat を実行し、以下の3つの行が全てあれば OK です。
atnwinsvc: service [Athena Login Server] installed.
atnwinsvc: service [Athena Character Server] installed.
atnwinsvc: service [Athena Map Server] installed.
もし atnwinsvc: FAILED が表示されていれば、 サービス登録時にエラーが
起きています。インストールしようとしたユーザーの権限などが
関係しているかもしれません。
==========================================================================
サービスの開始
--------------------------------------------------------------------------
·以下の3つのサービスがインストールされていると思います。
Athena Login Server
Athena Character Server
Athena Map Server
·ログオンアカウントを変更します。
「コンピュータの管理」などからサービスのプロパティを開き、
ログオンタブのログオンを「ローカルシステムアカウント」から
「アカウント」に変更し、Athena 用に用意したアカウントを設定します。
この作業は必ず行ってください。
行わないと場合、システムが不安定になることがあります。
·3つのサービスが正しく開始、停止できるか確認します。
起動できない場合は「起動できない場合」のセクションを参考にして下さい。
·log フォルダに xxx_svc_out.log などの名前でログが吐かれているはずです。
ログファイルを参照し、通常起動したときと変わりがないことを確認します。
·自動起動や自動回復などの設定をします。(必要ならそれらもテストします)
·3つのサービスを開始してください。開始には時間がかかることがあります。
GUI 以外にも net コマンドで開始することもできます。
==========================================================================
サービスの停止
--------------------------------------------------------------------------
·3つのサービスを停止してください。停止には時間がかかることがあります。
GUI 以外にも net コマンドで停止することもできます。
==========================================================================
サービスのアンインストール
--------------------------------------------------------------------------
·サービスの停止
·アンインストールファイルの編集
bin/tool/uninst_winsvc.bat を開き、inst_winsvc.bat を参考にして設定します。
·アンインストールファイルの実行
uninst_winsvc.bat を実行し、以下の3つの行が全てあれば OK です。
atnwinsvc: service [Athena Login Server] uninstalled.
atnwinsvc: service [Athena Character Server] uninstalled.
atnwinsvc: service [Athena Map Server] uninstalled.
atnwinsvc: FAILED が表示されていればエラーがあります。
·注意
アンインストールするには Athena の実行ファイルが必要です。
実行ファイルを削除するとアンインストールできなくなります。
==========================================================================
サービスの起動パラメータ
--------------------------------------------------------------------------
·デフォルトのパラメータ
サービスを起動する場合に、システムが利用するパラメータはサービスの
インストール時に登録します。変更したい場合は一度サービスを
アンインストールし、inst_winsvc.bat を修正したうえで
もう一度インストールしてください。
·一時的に変更して実行したい
うまくコンフィグファイルを読み込んでくれない場合などに、
サービスのインストール時のパラメータを無視して別パラメータで起動できます。
「コンピュータの管理」または「サービス」で、問題のサービスの
プロパティを開き、「開始パラメータ」にパラメータを入力し、
すぐ上にある「開始」ボタンを押して、サービスを開始して下さい。
==========================================================================
起動できない場合
--------------------------------------------------------------------------
·「ローカルコンピュータ上の ~ サービスは起動して停止しました」という
メッセージが出て起動できない場合、プログラムがエラーで終了しています。
inst_winsvc.bat で指定したログファイルに原因が出力されているかも知れません。
サービスを「ローカルシステムアカウント」で起動している場合、
リソースを食いつぶして起動できなくなることがあります。
(ファイルが開けない、メモリが足りないなどのエラーになります)
必ず、専用のユーザーを用意し、その権限で起動してください。
·起動中のゲージが途中で止まって進まない
次の2つが考えられます。
1. 起動中である。マップサーバーなど起動に時間がかかるものはゲージが途中で
とまって動かなくなる場合があります。その場合でも起動は進んでいますので
起動が終了するまで待ってください。
2. 何らかのエラーでプログラムの起動が完了できないか、途中で終了した
ログを見るなどして対処してください。プロセスが立ち上がっているなら
タスクマネージャなどで終了してください。
·サービスは正常に起動したが、ゲームができない
設定ファイルのパスが間違えているなど、うまく起動処理ができなかった可能性が
あります。ログを参照するなどして対処してください。
なお、実行ファイルが Athena フォルダや、その直下の bin フォルダのどちらでも
ない場合も設定ファイルが読めないなどのエラーになります。
==========================================================================
ログに関して
--------------------------------------------------------------------------
·inst_winsvc.bat で指定したログファイルに標準出力や標準エラー出力の内容が
出力されます。
·バッファリングされているので、プログラムを終了するまでログは
出力されていないか、中途半端に出力されているかもしれません。
==========================================================================
同じサービスを複数登録する
--------------------------------------------------------------------------
·inst_winsvc.bat の記述に従い、サフィックスを変更してください。
指定した文字列をサービス名の後ろに追加し、別サービスとして
認識されるようにします。たとえば set L_SUF=2 などとすると良いでしょう。
·ログファイルも共有できないのでログファイル名も変更するのを忘れないで下さい。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -