私はSSHを介してゲームサーバーを設定していますが、長時間入力しなくてもパラメータを使用して実行できるファイル(Windowsバッチファイルなど)を実行できるかどうか疑問に思います。
私が望むのは実行されるファイルです
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
毎回すべての内容を入力したり、Wikiページからコピーする必要はありません。
問題を解決した人のために明確にするために、私のサーバーはCentOSを実行しています。
答え1
ゲームがあるディレクトリに簡単なシェルスクリプトを置きます。
#!/bin/sh
cd $(dirname $0)
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
スクリプトを別の場所に配置するには、フルパスを使用する必要があります。
#!/bin/sh
/path/to/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
答え2
したがって、以下でエイリアスを作成する必要があります.bash_profile
。
alias game="./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128"
その後、source .bash_profile
再度ログインするか(新しいgame
コマンドをロードする)、最後にgame
。
答え3
エイリアスを追加した後、キーボード設定でショートカットをバインドして(ofcの分布に応じて)、非常に高速で簡単に実行できます。
(例: Windows+G)
答え4
csgo
にリストされているディレクトリに名前(または入力したい名前)のファイルを作成しますecho $PATH
。一般的なディレクトリは、/usr/local/bin
すべてのユーザーがスクリプトを実行できるようにしたい場合であり、スクリプトが自分専用の場合~/bin
はbin
ホームディレクトリの下にあります。スクリプトに次の内容を作成します。
#!/bin/sh
/path/to/srcds/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
/path/to/srcds
インストーラのパス(srcds_run
実行可能ファイルがあるディレクトリ)に置き換えます。
Windowsエディタを使用してスクリプトを編集する場合は、Unix(LF)行末を使用するように指示する必要があります。 Windows(CRLF)行末は機能しません。
"$@"
行の末尾にスペースを追加すると、パラメータをスクリプトに渡してプログラムに渡すことができます。
#!/bin/sh
/path/to/srcds/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128 "$@"
別のディレクトリからプログラムを呼び出すときにそのファイルが見つからない場合は、まずそのディレクトリに切り替えます。
#!/bin/sh
cd /path/to/srcds &&
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128 "$@"
ファイルを保存して実行可能にします。コマンドラインから(正しいパスを使用してスクリプトを保存してください):
chmod +x ~/bin/csgo
これでコマンドを入力してプログラムを実行できますcsgo
。