【GAME】ARMA3 EXILE MODサーバの旅その44
追記:車両湧き独自システム
追記:車両湧きの仕組み
追記:アイテム湧き修正結果
追記:ネットがゲロ遅い
追記:アイテム湧きが許せない
まだ、サーバ公開はしておりませんが、たまに立ち上げては、Linux OS自体やSteamのアップデートをしてました。
・・が、先日、なぜかエラーでアップデートできない。
(;´Д`) ん、もう・・なんでやねん。
利用してたOSは、Ubuntu 17.04だったのですが、サポートが終了してしまったようでした(現在は、17.10)
ちなみに、Ubuntuは、来月4月にロングサポート版(LTS)が出るんですよね。。
本番は、このUbuntu18.04LTSで公開する予定です。
do-release-upgradeコマンドで、17.10に上げる事ができるようなのですが、正直、ゼロから構築したい気分。。ダメもとで、実行してみる。
いつもSSHでリモート操作してるんですが、流石に、OSアップデートは、ローカルで実行した方が良いようです。モニターとキーボードを接続。
時間が掛かるので、スタクラ2でマッタリ待ちます。
(;^ω^)
これでOSその他、新しくなりました。
Arma3サーバ位しか入ってないシンプル過ぎる中身ですが、一通り動作を確認します。
SteamコマンドでArma3を更新しておきます。
利用してるMOD関連のアップデートは無かったようです。
(;´Д`)
100を超えるんですよね。前々から気になってたんですよ。なので、目安程度に考えてたんですが。。
”1”キーを押すと分かる、コア使用率の合算値だったんですね。これ
(;^ω^)
1時間ほど放っといて、様子をみたところ、現在の鯖味噌サーバ環境では、100~150辺りで推移してます。
AIは最大150にしてたので、この辺りが、このPCでの境目のようです。
ログ見ると、初期化時にエラーが出てる。キーが合ってない・・と。
CUP MOD関連のようです。
開発用PCの方と見比べてみると、ファイル数が全然違う。
現在はバージョン1.4.2なのですが、1.4.1よりもファイル数が激減してるんですね。
単純に上書きコピーしたため、キーと合わないファイルでエラーが出てたようでした。
(;´∀`)
写真ではもう、死にそうなんですけどもね。AK74で一発もらっちゃった(ライフ16)
CPU負荷の大きな変動も無いようで安心。
追記:アイテム湧きが許せない
(;^ω^)
アイテム湧きの際にですね。
Exile_Item_MountainDupe
が2個セットで湧くじゃないですか。1個でええんです。
あと・・、武器湧きもですッ!!マガジンもセットで湧いてるなんて許せないッ!!
(;´∀`) DayZライクに、武器と弾は別湧きにしたい。武器の知識も必要だなんて・・素敵なサバイバル
ExileServerのコードの、以下に書かれてるようです。
ExileServer_system_lootManager_spawnLootInBuilding.sqf
60行には、マウンテンデュープが2個湧くと。これを1に書き換えりゃいいはず。
lootHolder addMagazineCargoGlobal [_itemClassName, 2];
80行には、武器のマガジン湧きが。デフォだと2~4つになってます。
_numberOfMagazines = 2 + floor(random 3);
マガジン湧きを無しにするなら、0でも通ると思いますが、上のIF文で囲われた全部不要です。
まだ、テストしてませんが、弄るならココですよ。しかしながら、もうすぐ1.0.4なので、オススメしませんけどもw
m9( ゚д゚)テストしてへんッ
追記:アイテム湧き修正結果
はい、上記の修正で、見事マガジン湧きセットが無くなりました。
武器だけの湧きとなります。
プレーヤーには武器の知識が必要になる、とても素敵な環境となりました。
(;^ω^)
しまってたラズパイ2を出して、OSを入れ込みながら、ExileServerコードを見てる。
(;´Д`)なんちゅー週末だ
Rasbian OS何か色々変わりましたね。JAVA、PythonとかのIDE開発環境がデフォで入ってるんですね。
以前は電子工作一色な感じだったのに。
GUIが今風のLinuxで、ほんと常用でもいけそうです。否、Youtube視聴は厳しかったな。。やっぱ、ラズパイ3だと2倍速いというが。。
なにげに、更新かけたら、死ぬほど溜まってやがった。終わらねぇ・・ぞ、これ。
GW-USEco300(11nアンテナ2本で300Mbps)というWifi子機は、自動認識して無線接続もできたんだけども、なんか不安定。ドライバを手動で当てなきゃダメなんだろうか。
さて、このラズパイ何かに使えるかな。Arma3サーバのLANハブのLEDとか、HDDアクセスランプを配信しちゃう?(超無価値)
追記:ネットがゲロ遅い
前にも書きましたが、いま契約してるi-revoというISPで(契約して10年近く)、サポートに連絡してもラチがあかず、もう引越しをします。
固定IPが付いてて激安だったのに、非常に残念です。
。゚(゚´Д`゚)゚。
最低600Kbpsですよ、オンラインゲームはラグ過ぎてプレーできないし、Youtube視聴すら不可能なレベルです。っていうか、普通のウェブも見れません。
Yahooのトップページを1分位掛かって表示するレベルですw
(´;ω;`)
2ヶ月前までは、そうじゃなかったのに。。空いてる時間帯は、普通に20~30Mbps出てるんです。
固定IPが付いてて、それなりに速いところを吟味中。
追記:車両湧きの仕組み
ExileServer側の車両湧きの動作がどうにも気に入らない。
MAP外に湧いたりもするんですよ。
グリッド(距離)を設定できますが、これは、MAP幅をこれでXY軸毎割った数だけ、湧き場所が決められます(これに場所毎に湧き量を掛ける)
10Km四方のマップで、グリッド3Kmなら、MAPを0/3/6/9Km毎、縦横毎4x4箇所が湧きポイントとなります。
※ExileServer_world_spawnVehicles.sqf
そこから、BIS_fnc_findSafePosによって、安全な湧き場所を探して、最終的な湧き場所が決められます。
ここで問題なのが、BIS_fnc_findSafePosへ渡す引数なのです。
_positionReal = [_position, 25, _gridSize, 5, 0 , 1 , 0 , _spawnedPositions] call BIS_fnc_findSafePos;
※指定場所から、25m~グリッドmの距離で安全な場所をランダムで探す(5mの空間)
の様に書かれてるんですが、場所から_gridSize分だけの広い範囲で探しちゃってるんですよね。これだと、[0,0]の時、普通にMAP外(左・下側)に出ちゃいます(MAP左下基点座標)
※MAP周囲が海だったら問題無いです
なので・・。
28行:for “_xSize" from 0 to _mapsizeX step _gridSize do
31行:for “_ySize" from 0 to _mapsizeY step _gridSize do
この"0″の部分を、”_gridSize”に書き換えちゃえばOKでしょう。_mapsizeXの部分も、”_mapsizeX-_gridSize”とすれば、完全にMAP内に入ります。
もうすぐ、1.0.4ですが、コードはほとんど一緒でしょう。
追記:車両湧き独自システム
(;´∀`)
やっちゃいました。
MAP上にランダムで車が湧くというのも、ずっと気になってました。
これを、街中や周囲に沸かせたいと、ずっと思ってました。
その方が、リアリティがあるじゃないですか。
乗り捨てていった感を出したいんですよ。または、「他プレーヤーが町に居るかも?」と思わせられる訳です。
んで、修正方法ですが、可能な限り、弄る部分を少なくする方針です。2箇所です。Server元々の設定値もそのまま利用できます。
ExileServer_world_spawnVehicles.sqf
38行から:※_spawnedPositions = [];の下行
//*
_locations = nearestLocations [_position, [“NameVillage","NameCity","NameCityCapital"], _gridSize * 2];
if(count _locations > 0) then {
_location = selectRandom _locations;
_temppos = position _location;
_position = [_temppos select 0, _temppos select 1, _temppos select 2];
};
これを追加します。
そして、上記事で触れた場所(数行下)を書き換えます。
_positionReal = [_position, 25, 300, 8, 0 , 1 , 0 , _spawnedPositions] call BIS_fnc_findSafePos;
動作説明:
元々の湧き計算場所から、さらに近場の村・町・市の3タイプを探して、その中から1つをランダムで選びます。もし、無かったら、元々の湧きコードの通りになります。
村・町・市の中心位置から、300mの同心円上の安全な8m空間に、車両が湧きます。
カスタマイズ:
村・町・市の3タイプだけにしてますが、他ランドマークでも沸かせたい場合は、ロケーションを追加します。
ExileServer/config.cppのvehiclesGridSize、vehiclesGridAmountはそのまま利用できます。
500mは適当に決めた数字なので、適宜変更ください。MAPによって、街の中心位置がズレていたりするので、微調整が必要かもしれません。
5m安全な空間といっても、Arma3がちゃんと探し出せるか保証もありませんので。。。BIS_fnc_findSafePos引数で調整してみてください。
すぐ下にある、このコード。
_spawnControl = [[(_positionReal select 0) – 50, (_positionReal select 1) + 50],[(_positionReal select 0) + 50,(_positionReal select 1) – 50]];
既に湧いた場所をBlackListに登録するモノですが、デフォだと周囲100m分しか登録しません。これを広げれば、さらにバラけるでしょう。
(まだ未テストですので自己責任で)
追記:車両湧き独自システム結果
こんな感じで、街中・周辺に湧くようになりました。
良い感じじゃないでしょうか。
(;^ω^)
街の中に湧いたモノによっては、派手に建物を破壊してくれるやつもあったりします。
BIS_fnc_findSafePosはちゃんと機能してんだろうか。
うむむ、まぁ・・要調査です。
一部がめり込んでますw
(;´Д`)
自爆しそうで、乗り込めませんよねぇ。。
こいつは必ずと言って良いほど、湧き爆発してくれます。
バスは無理ですな。。
ディスカッション
ピンバック & トラックバック一覧
[…] 【GAME】ARMA3 EXILE MODサーバの旅その44 […]