This commit is contained in:
Anuken 2023-02-09 17:50:46 -05:00
commit 946e36c66e
7 changed files with 49 additions and 94 deletions

View file

@ -11,18 +11,20 @@ You'll need to either hire some moderators, or make use of (currently non-existe
*Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example.
2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["canvas", "logic-display", "large-logic-display"]`.
3. **Set an appropriate MOTD, name and description.** This is set with `config <name/desc/motd> <value>`. "Appropriate" means that:
- Your name or description must reflect the type of server you're hosting.
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
- Make sure players know where to refer to for server support. It should be fairly clear that the server owner is not me, but you.
- Try to be professional in your text; use common sense.
- Your name or description must reflect the type of server you're hosting.
Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt.
- Make sure players know where to refer to for server support. It should be fairly clear that the server owner is not me, but you.
- Try to be professional in your text; use common sense.
4. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option.
5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`).
6. Finally, **submit a pull request** to add your server's IP to the list.
This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address.
For example, if your server address is `google.com`, you would add a comma after the last entry and insert:
```json
{
"address": "google.com"
}
```
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.
For example, if your server address is `example.com:6000`, you would add a comma after the last entry and insert:
```json
{
"address": "example.com:6000"
}
```
> Note that Mindustry also support SRV records. This allows you to use a subdomain for your server address instead of specifying the port. For example, if you want to use `play.example.com` instead of `example.com:6000`, in the dns settings of your domain, add an SRV record with `_mindustry` as the service, `tcp` as the protocol, `play` as the target and `6000` as the port. You can also setup fallback servers by modifing the weight or priority of the record.
Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments.

View file

@ -149,11 +149,16 @@ mod.incompatiblemod = [red]非対応
mod.blacklisted = [red]未対応
mod.unmetdependencies = [red]依存関係が満たされていません
mod.erroredcontent = [scarlet]コンテンツエラー
mod.circulardependencies = [red]Circular Dependencies
mod.incompletedependencies = [red]Incomplete Dependencies
mod.requiresversion.details = ゲームのバージョンが必要です: [accent]{0}[]\nあなたのゲームは古くなっています。このmodが機能するには、ゲームの新しいバージョン (おそらくベータ/アルファリリース) が必要です。
mod.outdatedv7.details = このmodはゲームの最新バージョンと互換性がありません。 作成者はそれを更新し、[accent]minGameVersion: 136[] を [accent]mod.json[] ファイルに追加する必要があります。
mod.blacklisted.details = このmodは、このバージョンのゲームでクラッシュやその他の問題を引き起こすため、手動でブラックリストに登録されています。 使用しないでください。
mod.missingdependencies.details = このmodには依存関係がありません: {0}
mod.erroredcontent.details = このゲームは、読み込み中にエラーが発生しました。modの作成者に修正を依頼してください。
mod.circulardependencies.details = This mod has dependencies that depends on each other.
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
mod.requiresversion = Requires game version: [red]{0}
mod.errors = コンテンツの読み込み中にエラーが発生しました。
mod.noerrorplay = [scarlet]以下のModにエラーがあります。[] Modを無効化するか、エラーを修正してください。
mod.nowdisabled = [scarlet]{0} 依存関係がありません。:[accent] {1}\n[lightgray]これらのModをダウンロードし有効化する必要があります。\nなお、このModは自動的に無効化されます。
@ -287,6 +292,7 @@ server.invalidport = 無効なポート番号です!
server.error = [crimson]サーバーのホストエラー: [accent]{0}
save.new = 新規保存
save.overwrite = このスロットに上書きしてもよろしいですか?
save.nocampaign = Individual save files from the campaign cannot be imported.
overwrite = 上書き
save.none = セーブデータが見つかりませんでした!
savefail = ゲームの保存に失敗しました!
@ -354,6 +360,8 @@ pausebuilding = [accent][[{0}][] 建築を一時的に中断する
resumebuilding = [scarlet][[{0}][] 建築を再開する
enablebuilding = [scarlet][[{0}][] 建築を可能にする
showui = UI 非表示.\nUIを表示するには[accent][[{0}][] を押下
commandmode.name = [accent]Command Mode
commandmode.nounits = [no units]
wave = [accent]ウェーブ {0}
wave.cap = [accent]ウェーブ {0}/{1}
wave.waiting = [lightgray]次のウェーブまで {0} 秒
@ -438,6 +446,7 @@ waves.max = 最大ユニット数
waves.guardian = ガーディアン
waves.preview = プレビュー
waves.edit = 編集...
waves.random = Random
waves.copy = クリップボードにコピー
waves.load = クリップボードから読み込む
waves.invalid = クリップボードのウェーブは無効なウェーブです。
@ -649,8 +658,7 @@ bannedunits.whitelist = 禁止ユニットをホワイトリストとして表
bannedblocks.whitelist = 禁止ブロックをホワイトリストとして表示
addall = すべて追加
launch.from = [accent]{0}[] からの発射
"launch.capacity = 発射するアイテムの容量: [accent]{0}
"
launch.capacity = Launching Item Capacity: [accent]{0}
launch.destination = 目的地: {0}
configure.invalid = 値は 0 から {0} の間でなければなりません。
add = 追加...
@ -1201,6 +1209,7 @@ rules.unitbuildspeedmultiplier = ユニットの製造速度倍率
rules.unitcostmultiplier = ユニットの製造コスト倍率
rules.unithealthmultiplier = ユニットの体力倍率
rules.unitdamagemultiplier = ユニットのダメージ倍率
rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier
rules.solarmultiplier = 太陽光の倍率
rules.unitcapvariable = コア数によってユニット上限を変動
rules.unitcap = 基礎ユニット上限数
@ -2161,8 +2170,8 @@ unit.incite.description = シタデルコアを敵から守ります。\nビー
unit.emanate.description = アクロポリスコアを敵から守ります。\nビームで建造物を修復します。
lst.read = リンクされたメモリセルから数値を読み取ります。
lst.write = リンクされたメモリセルに数値を書き込みます。
lst.print = メッセージブロックにテキストを追加します。\[accent]Print Flush[] を使用するまで何も表示しません。
lst.draw = ロジックディスプレイに操作を追加します。\[accent]Draw Flush[] を使用するまで何も表示しません。
lst.print = メッセージブロックにテキストを追加します。[accent]Print Flush[] を使用するまで何も表示しません。
lst.draw = ロジックディスプレイに操作を追加します。[accent]Draw Flush[] を使用するまで何も表示しません。
lst.drawflush = キューに入れられた [accent]Draw[] 操作をディスプレイにフラッシュします。
lst.printflush = キューに入れられた [accent]Print[] 操作をメッセージ ブロックにフラッシュします。
lst.getlink = プロセッサーのリンクを番号で取得します。番号は0から始まります。

View file

@ -19,7 +19,7 @@ import mindustry.world.meta.*;
import static mindustry.Vars.*;
public class ItemTurret extends Turret{
public ObjectMap<Item, BulletType> ammoTypes = new ObjectMap<>();
public ObjectMap<Item, BulletType> ammoTypes = new OrderedMap<>();
public ItemTurret(String name){
super(name);
@ -82,6 +82,17 @@ public class ItemTurret extends Turret{
}
public class ItemTurretBuild extends TurretBuild{
@Override
public void onProximityAdded(){
super.onProximityAdded();
//add first ammo item to cheaty blocks so they can shoot properly
if(!hasAmmo() && cheating() && ammoTypes.size > 0){
handleItem(this, ammoTypes.keys().next());
}
}
@Override
public void updateTile(){
unit.ammo((float)unit.type().ammoCapacity * totalAmmo / maxAmmo);

View file

@ -500,8 +500,8 @@ public class Turret extends ReloadTurret{
if(ammo.size >= 2 && ammo.peek().amount < ammoPerShot && ammo.get(ammo.size - 2).amount >= ammoPerShot){
ammo.swap(ammo.size - 1, ammo.size - 2);
}
return ammo.size > 0 && ammo.peek().amount >= ammoPerShot || cheating();
return ammo.size > 0 && (ammo.peek().amount >= ammoPerShot || cheating());
}
public boolean charging(){

View file

@ -191,7 +191,12 @@ public class ServerControl implements ApplicationListener{
info("Selected next map to be @.", Strings.stripColors(map.name()));
play(true, () -> world.loadMap(map, map.applyRules(lastMode)));
play(true, () -> {
world.loadMap(map, map.applyRules(lastMode));
if(Config.autoPause.bool() && Groups.player.isEmpty()){
Core.app.post(() -> state.set(State.paused));
}
});
}else{
netServer.kickAll(KickReason.gameover);
state.set(State.menu);

View file

@ -1,8 +1,4 @@
[
{
"name": "Sectorized",
"address": ["sectorized.ddns.net"]
},
{
"name": "{AA}",
"address": ["recessive.net"]
@ -11,18 +7,6 @@
"name": "EasyPlay",
"address": ["easyplay.su"]
},
{
"name": "Tendhost",
"address": ["tendhost.ddns.net", "smokeofanarchy.ru:7576"]
},
{
"name": "Atanner Gaming",
"address": ["mindustry.atannergaming.com:6567", "mindustry.atannergaming.com:6700", "mindustry.atannergaming.com:9000"]
},
{
"name": "C.A.M.S.",
"address": ["0.baseduser.eu.org:42000", "nikochio.ddns.net"]
},
{
"name": "Chaotic Neutral",
"address": ["c-n.ddns.net:1111", "c-n.ddns.net:2222", "c-n.ddns.net:3333"]
@ -47,64 +31,8 @@
"name": "ALEX",
"address": ["alexmindustryhub.ddns.net:6568", "dogemindustry.ddns.net:25586", "alexmindustry.ddns.net:25587", "alexmindustryattac.ddns.net:25800","alexmindustryturbo.ddns.net:25581","alexmindustryhex.ddns.net:25583"]
},
{
"name": "Minty [subzero]",
"address": ["minty-server.ddns.net"]
},
{
"name": "Korea",
"address": ["mindustry.initd.kr","mindustry.kr:7100"]
},
{
"name": "Obvilion Network",
"address": ["obvilion.ru", "obvilion.ru:7001", "obvilion.ru:7002", "obvilion.ru:7003"]
},
{
"name": "Nydus",
"address": ["v6.mindustry.nydus.app:6566"]
},
{
"name": "Mindustry.Party",
"address": ["game.mindustry.party"]
},
{
"name": "TSR",
"address": ["uk01.optik.host:26175", "uk01.optik.host:26164"]
},
{
"name": "Sakura",
"address": ["160.16.207.141", "160.16.207.141:21527", "160.16.207.141:31587", "160.16.207.141:26810", "160.16.207.141:4848"]
},
{
"name": "MeowLand",
"address": ["34.134.111.15"]
},
{
"name": "M-DE",
"address": ["mindustry.inc.li", "mindustry.inc.li:6568"]
},
{
"name": "CxZx",
"address": ["usfr2.forcehost.net:25578"]
},
{
"name": "CreateDustry",
"address": ["129.151.64.81:26032"]
},
{
"name": "NukeDustry",
"address": ["nukedustry.tk:7777", "nukedustry.tk:8888"]
},
{
"name": "MindustryBR",
"address": ["mindustryptbr.ddns.net:25579"]
},
{
"name": "Shard",
"address": ["59.12.120.171"]
},
{
"name": "New Campaign Like",
"address": ["n5.yeet.ml:6568"]
}
]

View file

@ -1,7 +1,7 @@
[
{
"name": "Explosive corp",
"address": ["94.103.91.96:4545", "94.103.91.96:4848", "94.103.91.96:4949", "94.103.91.96:5050", "94.103.91.96:5151", "94.103.91.96:1551"]
"address": ["94.103.91.96:4545", "94.103.91.96:4848", "94.103.91.96:4949", "94.103.91.96:5151", "94.103.91.96:1551"]
},
{
"name": "RCM",
@ -53,7 +53,7 @@
},
{
"name": "Omega Hub",
"address": ["n1.mindustry.me:6608", "n7.mindustry.me:6567", "n7.mindustry.me:6570", "n1.mindustry.me:6568", "n1.mindustry.me:6671", "n1.mindustry.me:6570", "n1.mindustry.me:6573", "n1.mindustry.me:6610", "n1.mindustry.me:6567", "n1.mindustry.me:6599", "n1.mindustry.me:6774", "n1.mindustry.me:6571"]
"address": ["n1.mindustry.me:6608", "n7.mindustry.me:6567", "n7.mindustry.me:6570", "n1.mindustry.me:6568", "n1.mindustry.me:6671", "n1.mindustry.me:6570", "n1.mindustry.me:6573", "n1.mindustry.me:6610", "n1.mindustry.me:6567", "n1.mindustry.me:6599", "n1.mindustry.me:6774", "n1.mindustry.me:6571", "n1.mindustry.me:6589"]
},
{
"name": "KMWStudios",
@ -105,7 +105,7 @@
},
{
"name": "OMNIDUSTRY",
"address": ["92.255.108.134","92.255.108.134:6568","92.255.108.134:6569","92.255.108.134:6570","92.255.108.134:6571","92.255.108.134:6572","92.255.108.134:6573","92.255.108.134:6574"]
"address": ["omnidustry.su", "omnidustry.su:6568", "omnidustry.su:6569", "omnidustry.su:6570", "omnidustry.su:6571", "omnidustry.su:6572", "omnidustry.su:6573", "omnidustry.su:6574"]
},
{
"name": "The Devil",