Minecraft server: Difference between revisions
No edit summary |
|||
Line 23: | Line 23: | ||
* [https://github.com/superjamie/minecraft-init-script superjamie/minecraft-init-script] |
* [https://github.com/superjamie/minecraft-init-script superjamie/minecraft-init-script] |
||
* [http://minecraft.gamepedia.com/Tutorials/Server_startup_script Tutorials/Server startup script] |
* [http://minecraft.gamepedia.com/Tutorials/Server_startup_script Tutorials/Server startup script] |
||
=== Forge mods === |
|||
Use ''Cauldron + forge'' to run a server that accepts both CraftBukkit plugins and Forge mods |
|||
; Supported mods |
|||
* Mo' creatures v6.2.0 R2 |
|||
:Simply install the mods in minecraft server mod directory ({{file|./mods}}) |
|||
== CraftBukkit Troubleshoot == |
|||
=== Essentials / permissions debug === |
|||
To debug permission issues easily, set <tt>plugins/Essentials/config.yml</tt>: |
|||
<source lang=bash> |
|||
# More output to the console. |
|||
debug: true |
|||
</source> |
|||
=== Cannot start the server === |
|||
* I had issue due to '''jline''', which was parsing my <tt>/root/.inputrc</tt> file!!! |
|||
<source lang=text> |
|||
$ java -jar craftbukkit.jar help |
|||
229 recipes |
|||
27 achievements |
|||
Jul 10, 2013 3:00:24 AM net.minecraft.server.v1_5_R3.MinecraftServer main |
|||
SEVERE: Failed to start the minecraft server |
|||
java.lang.IllegalArgumentException: No enum constant org.bukkit.craftbukkit.libs.jline.console.Operation.DYNAMIC_COMPLETE_HISTORY |
|||
at java.lang.Enum.valueOf(Enum.java:236) |
|||
at org.bukkit.craftbukkit.libs.jline.console.Operation.valueOf(Operation.java:24) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.loadKeys(ConsoleKeys.java:245) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.loadKeys(ConsoleKeys.java:71) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.<init>(ConsoleKeys.java:43) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.<init>(ConsoleReader.java:146) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.<init>(ConsoleReader.java:126) |
|||
at net.minecraft.server.v1_5_R3.MinecraftServer.<init>(MinecraftServer.java:106) |
|||
at net.minecraft.server.v1_5_R3.DedicatedServer.<init>(DedicatedServer.java:34) |
|||
at net.minecraft.server.v1_5_R3.MinecraftServer.main(MinecraftServer.java:653) |
|||
at org.bukkit.craftbukkit.Main.main(Main.java:152) |
|||
</source> |
|||
The solution was simply to remove the binding to ''dynamic-complete-history'' in the <tt>.inputrc</tt> file. |
|||
=== Wrong plugin version === |
|||
* The following message indicates a mismatch between server and plugin version: |
|||
01:14:18 CONSOLE: [WARNING] WorldEdit: Failed to do NMS safe block set |
|||
=== Frequent disconnect === |
|||
Getting frequently disconnect from server, with message: |
|||
lost connection: Internal Exception: io.netty.handler.timeout.ReadTimeoutException |
|||
See https://bugs.mojang.com/browse/MC-34947 |
|||
; Possible causes: |
|||
* Java garbage collector on the server taking too much time. |
|||
* Server triggering disconnects on the client side when loading/generating new chunks. |
|||
* Related to a save spike [https://bugs.mojang.com/browse/MC-34947] |
|||
* Related to file {{file|data/Mineshaft.dat}} taking too much CPU |
|||
* At the same time, I had lot of connection loss on the wifi (mandala laptop). Could this be related? |
|||
; Possible fixes: |
|||
* Restart the server |
|||
* Install Oracle Java 7 on the server |
|||
* Change the GC settings [https://bugs.mojang.com/browse/MC-34947]. Use <code>-XX:+UseG1GC</code> instead of <code>-XX:MaxGCPauseMillis=200</code>: |
|||
java -XX:+UseG1GC -jar minecraft_server.jar nogui |
|||
* Tweak connection mtu settings [http://www.minecraftforum.net/forums/support/modded-client-support/1956855-internal-exception-io-netty-handler-timeout]: |
|||
netsh interface ipv4 set subinterface "Local Area Connection" mtu=750 store=persistent |
|||
* rename {{file|data/Mineshaft.dat}} to {{file|data/Mineshaft.old}} |
|||
* upgrade to 1.7.10 |
|||
== Maintenance == |
|||
=== CraftBukkit server === |
|||
* Clear server log |
|||
:Use ''LogManager'': <code>/logclear</code> |
|||
* Clear core-protect db. |
|||
:On the console, <code>/co purge t:7d</code> (only data older than 24h can be purged from the console) |
|||
:In game, <code>/co purge t:30d</code> (only data older than 30 days can be purged from in-game) |
|||
== CraftBukkit Plugins == |
== CraftBukkit Plugins == |
||
Line 73: | Line 148: | ||
=== Commands === |
=== Commands === |
||
<source lang="bash"> |
|||
tphere <PLAYER> |
|||
tphere <PLAYER> |
|||
changepw <oldpwd> <newpwd> |
|||
changepw <oldpwd> <newpwd> |
|||
=== Create PlotMe world === |
|||
<source lang=bash> |
|||
/mv create plotworld normal -g PlotMe # Must use 'plotworld', or see PlotMe/config.yml |
|||
/mangaddp Default creativegates.use # In the PlotMe world, or user can't use creative gates anymore |
|||
/mangaddp Default plotme.use # Give user access to plotme commands |
|||
/mangaddp Default plotme.limit.1 # Limit to 1 plot / user |
|||
/plotme weanywhere # To use worldedit anywhere (protection against grief) |
|||
/mvm set monsters false # To prevent mobs spawning |
|||
/mvm set animals false # To prevent animals spawning |
|||
</source> |
</source> |
||
=== Essentials === |
|||
Edit file <tt>plugins/Multiverse-Core/config.yml</tt>: |
|||
<source lang=text> |
|||
prefixchat: 'false' |
|||
</source> |
|||
;kits |
|||
=== Permissions in Multiverse === |
|||
<source lang=bash> |
|||
/manuadd histerical Default plotworld # Change group of a user in a given world |
|||
</source> |
|||
=== Essentials kits === |
|||
To enable kits via signs, give to user the following permissions: |
To enable kits via signs, give to user the following permissions: |
||
<source lang=text> |
<source lang=text> |
||
Line 111: | Line 167: | ||
essentials.kits.<kitname> |
essentials.kits.<kitname> |
||
</source> |
</source> |
||
=== Maintenance === |
|||
* Clear server log |
|||
:Use ''LogManager'': <code>/logclear</code> |
|||
* Clear core-protect db. |
|||
:On the console, <code>/co purge t:7d</code> (only data older than 24h can be purged from the console) |
|||
:In game, <code>/co purge t:30d</code> (only data older than 30 days can be purged from in-game) |
|||
=== Multiverse === |
=== Multiverse === |
||
Line 123: | Line 172: | ||
* [https://github.com/Multiverse/Multiverse-Core/wiki/World-properties Multiverse-Core world properties] |
* [https://github.com/Multiverse/Multiverse-Core/wiki/World-properties Multiverse-Core world properties] |
||
; Permissions |
|||
=== Miscellaneous === |
|||
<source lang=bash> |
|||
* Set world to ''peaceful'' (has precedence over server setting below): |
|||
/manuadd histerical Default plotworld # Change group of a user in a given world |
|||
/mvmodify set difficulty PEACEFUL |
|||
</source> |
|||
:Must also prevent monster spawning: |
|||
/mvmodify set monsters false |
|||
; Set world difficulty |
|||
* to set the whole server in ''peaceful'', edit {{file|Server.properties}}: |
|||
<source lang=bash> |
|||
spawn-monsters=false |
|||
/mvmodify set difficulty PEACEFUL |
|||
</source> |
|||
This setting has precedence over server setting. To change server setting, edit file {{file|Server.properties}} on the server: |
|||
<source lang="bash"> |
|||
spawn-monsters=false |
|||
</source> |
|||
; Prevent spawning |
|||
<source lang="bash"> |
|||
/mvmodify set monsters false # Prevent monsters spawning |
|||
/mvmodify set animals false # Prevent animals spawning |
|||
</source> |
|||
; Set spawn for current world |
|||
<source lang="bash"> |
|||
/mv set spawn |
|||
</source> |
|||
; Create a portal |
|||
To create a portal, first create a selection containing a portal ''frame'', then create the portal with <code>/mpc</code>. |
|||
<source lang="bash"> |
|||
/mvpc portal_name # Create a portal named 'portal_name' |
|||
/mvpm dest world_name # Set the destination of current portal to spawn of world 'world_name' |
|||
/mvpm dest p:dest_portal_name # Set the destination of current portal to portal dest_portal_name |
|||
/mvpm dest p:dest_portal_name:n # Set the destination of current portal to portal dest_portal_name, changing player direction to 'north' |
|||
/mvpm dest p:dest_portal_name:s # Set the destination of current portal to portal dest_portal_name, changing player direction to 'south' |
|||
/mvpm dest p:dest_portal_name:e # Set the destination of current portal to portal dest_portal_name, changing player direction to 'east' |
|||
/mvpm dest p:dest_portal_name:w # Set the destination of current portal to portal dest_portal_name, changing player direction to 'west' |
|||
/mvp sel portal_name # Select portal 'portal_name' as current portal |
|||
/mvp remove portal_name # Destroy portal 'portal_name' |
|||
</source> |
|||
== How-to == |
|||
=== Import a single-player world === |
|||
; Import a single player world |
; Import a single player world |
||
Line 142: | Line 227: | ||
</source> |
</source> |
||
=== Create PlotMe world === |
|||
; Set spawn |
|||
/mv set spawn |
|||
; Create a portal |
|||
* Use <code>p:portalname[:direction]</code> to specify another portal. Use optional <code>:direction</code> (like <code>p:castle_entrance:n</code> to target the portal named ''castle_entrance'' and have the player face ''north'' on arrival). |
|||
== Forge mods == |
|||
Use ''Cauldron + forge'' to run a server that accepts both CraftBukkit plugins and Forge mods |
|||
; Supported mods |
|||
* Mo' creatures v6.2.0 R2 |
|||
:Simply install the mods in minecraft server mod directory ({{file|./mods}}) |
|||
== CraftBukkit Troubleshoot == |
|||
=== Essentials / permissions debug === |
|||
To debug permission issues easily, set <tt>plugins/Essentials/config.yml</tt>: |
|||
<source lang=bash> |
<source lang=bash> |
||
/mv create plotworld normal -g PlotMe # Must use 'plotworld', or see PlotMe/config.yml |
|||
# More output to the console. |
|||
/mangaddp Default creativegates.use # In the PlotMe world, or user can't use creative gates anymore |
|||
debug: true |
|||
/mangaddp Default plotme.use # Give user access to plotme commands |
|||
/mangaddp Default plotme.limit.1 # Limit to 1 plot / user |
|||
/plotme weanywhere # To use worldedit anywhere (protection against grief) |
|||
/mvm set monsters false # To prevent mobs spawning |
|||
/mvm set animals false # To prevent animals spawning |
|||
</source> |
</source> |
||
=== Cannot start the server === |
|||
* I had issue due to '''jline''', which was parsing my <tt>/root/.inputrc</tt> file!!! |
|||
Edit file <tt>plugins/Multiverse-Core/config.yml</tt>: |
|||
<source lang=text> |
<source lang=text> |
||
prefixchat: 'false' |
|||
$ java -jar craftbukkit.jar help |
|||
229 recipes |
|||
27 achievements |
|||
Jul 10, 2013 3:00:24 AM net.minecraft.server.v1_5_R3.MinecraftServer main |
|||
SEVERE: Failed to start the minecraft server |
|||
java.lang.IllegalArgumentException: No enum constant org.bukkit.craftbukkit.libs.jline.console.Operation.DYNAMIC_COMPLETE_HISTORY |
|||
at java.lang.Enum.valueOf(Enum.java:236) |
|||
at org.bukkit.craftbukkit.libs.jline.console.Operation.valueOf(Operation.java:24) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.loadKeys(ConsoleKeys.java:245) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.loadKeys(ConsoleKeys.java:71) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.<init>(ConsoleKeys.java:43) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.<init>(ConsoleReader.java:146) |
|||
at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.<init>(ConsoleReader.java:126) |
|||
at net.minecraft.server.v1_5_R3.MinecraftServer.<init>(MinecraftServer.java:106) |
|||
at net.minecraft.server.v1_5_R3.DedicatedServer.<init>(DedicatedServer.java:34) |
|||
at net.minecraft.server.v1_5_R3.MinecraftServer.main(MinecraftServer.java:653) |
|||
at org.bukkit.craftbukkit.Main.main(Main.java:152) |
|||
</source> |
</source> |
||
The solution was simply to remove the binding to ''dynamic-complete-history'' in the <tt>.inputrc</tt> file. |
|||
=== |
=== Summon any horses === |
||
* The following message indicates a mismatch between server and plugin version: |
|||
01:14:18 CONSOLE: [WARNING] WorldEdit: Failed to do NMS safe block set |
|||
=== Frequent disconnect === |
|||
Getting frequently disconnect from server, with message: |
|||
lost connection: Internal Exception: io.netty.handler.timeout.ReadTimeoutException |
|||
See https://bugs.mojang.com/browse/MC-34947 |
|||
; Possible causes: |
|||
* Java garbage collector on the server taking too much time. |
|||
* Server triggering disconnects on the client side when loading/generating new chunks. |
|||
* Related to a save spike [https://bugs.mojang.com/browse/MC-34947] |
|||
* Related to file {{file|data/Mineshaft.dat}} taking too much CPU |
|||
* At the same time, I had lot of connection loss on the wifi (mandala laptop). Could this be related? |
|||
; Possible fixes: |
|||
* Restart the server |
|||
* Install Oracle Java 7 on the server |
|||
* Change the GC settings [https://bugs.mojang.com/browse/MC-34947]. Use <code>-XX:+UseG1GC</code> instead of <code>-XX:MaxGCPauseMillis=200</code>: |
|||
java -XX:+UseG1GC -jar minecraft_server.jar nogui |
|||
* Tweak connection mtu settings [http://www.minecraftforum.net/forums/support/modded-client-support/1956855-internal-exception-io-netty-handler-timeout]: |
|||
netsh interface ipv4 set subinterface "Local Area Connection" mtu=750 store=persistent |
|||
* rename {{file|data/Mineshaft.dat}} to {{file|data/Mineshaft.old}} |
|||
* upgrade to 1.7.10 |
|||
== Tips == |
|||
=== Summon any horses === |
|||
From [http://www.planetminecraft.com/blog/how-to-summon-any-horses-in-minecraft/]. |
From [http://www.planetminecraft.com/blog/how-to-summon-any-horses-in-minecraft/]. |
||
Revision as of 06:07, 6 March 2017
Installation log
Installation
CraftBukkit
- Recommended line from http://forums.bukkit.org/threads/how-to-setup-a-ubuntu-craftbukkit-server-x64-running-java-x64.598/
java -d64 -Xincgc -Xmx1024M -jar craftbukkit.jar nogui
Spigot on Raspberry Pi
- http://picraftbukkit.webs.com/pi-minecraft-server-how-to
- http://www.howtogeek.com/173044/how-to-run-low-cost-minecraft-on-a-raspberry-pi-for-block-building-on-the-cheap/
- http://www.raspberrypi.org/forums/viewtopic.php?f=78&t=75882
Cauldron and Forge
- Cauldron is the new name of MCPC+, ie. basically Spigot + Forge API. Cauldron allows for running servers using both CraftBukkit plugins and Forge mods (like Mo'Creatures).
- Best way for installing is to run the Cauldron installer (see download page)
- When launched, it runs like a standard Spigot / Craftbukkit server.
Start / stop init script
Forge mods
Use Cauldron + forge to run a server that accepts both CraftBukkit plugins and Forge mods
- Supported mods
- Mo' creatures v6.2.0 R2
- Simply install the mods in minecraft server mod directory (./mods)
CraftBukkit Troubleshoot
Essentials / permissions debug
To debug permission issues easily, set plugins/Essentials/config.yml:
# More output to the console.
debug: true
Cannot start the server
- I had issue due to jline, which was parsing my /root/.inputrc file!!!
$ java -jar craftbukkit.jar help
229 recipes
27 achievements
Jul 10, 2013 3:00:24 AM net.minecraft.server.v1_5_R3.MinecraftServer main
SEVERE: Failed to start the minecraft server
java.lang.IllegalArgumentException: No enum constant org.bukkit.craftbukkit.libs.jline.console.Operation.DYNAMIC_COMPLETE_HISTORY
at java.lang.Enum.valueOf(Enum.java:236)
at org.bukkit.craftbukkit.libs.jline.console.Operation.valueOf(Operation.java:24)
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.loadKeys(ConsoleKeys.java:245)
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.loadKeys(ConsoleKeys.java:71)
at org.bukkit.craftbukkit.libs.jline.console.ConsoleKeys.<init>(ConsoleKeys.java:43)
at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.<init>(ConsoleReader.java:146)
at org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.<init>(ConsoleReader.java:126)
at net.minecraft.server.v1_5_R3.MinecraftServer.<init>(MinecraftServer.java:106)
at net.minecraft.server.v1_5_R3.DedicatedServer.<init>(DedicatedServer.java:34)
at net.minecraft.server.v1_5_R3.MinecraftServer.main(MinecraftServer.java:653)
at org.bukkit.craftbukkit.Main.main(Main.java:152)
The solution was simply to remove the binding to dynamic-complete-history in the .inputrc file.
Wrong plugin version
- The following message indicates a mismatch between server and plugin version:
01:14:18 CONSOLE: [WARNING] WorldEdit: Failed to do NMS safe block set
Frequent disconnect
Getting frequently disconnect from server, with message:
lost connection: Internal Exception: io.netty.handler.timeout.ReadTimeoutException
See https://bugs.mojang.com/browse/MC-34947
- Possible causes
- Java garbage collector on the server taking too much time.
- Server triggering disconnects on the client side when loading/generating new chunks.
- Related to a save spike [1]
- Related to file data/Mineshaft.dat taking too much CPU
- At the same time, I had lot of connection loss on the wifi (mandala laptop). Could this be related?
- Possible fixes
- Restart the server
- Install Oracle Java 7 on the server
- Change the GC settings [2]. Use
-XX:+UseG1GC
instead of-XX:MaxGCPauseMillis=200
:
java -XX:+UseG1GC -jar minecraft_server.jar nogui
- Tweak connection mtu settings [3]:
netsh interface ipv4 set subinterface "Local Area Connection" mtu=750 store=persistent
- rename data/Mineshaft.dat to data/Mineshaft.old
- upgrade to 1.7.10
Maintenance
CraftBukkit server
- Clear server log
- Use LogManager:
/logclear
- Clear core-protect db.
- On the console,
/co purge t:7d
(only data older than 24h can be purged from the console) - In game,
/co purge t:30d
(only data older than 30 days can be purged from in-game)
CraftBukkit Plugins
- PlotMe (used on CraftyServ)
- InfinitePlots
- Multiverse-Core (used on CraftyServ)
- Lockette (used on CraftyServ)
- CombatTag (used on CraftyServ)
- BukkitBackup
- Essentials
- PermissionsBukkit (forum page [4])
- Some plugins from same source
- CoreProtect
- LogManager
- A small plugin to clear the server log from in-game, w/o need to restart the server (
/logclear
)
- This plugin allows for preventing / controling explosion.
# Enable TNT explosion as follows (note that tnt chain are allowed by default)
/acs tnt yield 80 # 80% of exploded blocks will be available back
/acb tnt damage player true # TNT will damage players...
/acb tnt damage mob true # ... and mobs
/acb tnt explodeblocks true # TNT will explode neighbouring blocks
# To protect a zone against TNT (even via TNT cannon)
/rg flag spawn tnt deny
- DynMap
- AntiBotUltra
- Edit plugins/AntiBotUltra/config.yml to change the white list message (use § for colors)
- AntiCheat
- X-Ray Detective (analyse mining behavior through statistical analysis)
- Problem with these statistical tool is that they only detect after damage is done (all diamonds have been removed), and that they require administration effort.
- Anti X-Ray (commands
/antixray
)
- Nice analysis of pro and con of other anti-X-ray tools (statistical, obfuscator), and how to detect xraying users.
- X-Ray informer (commands
/xcheck
) - X-Ray Catcher (inactive, based on pattern analysis)
- Rate of X-Ray (statistical, command
/rx
)
Commands
tphere <PLAYER>
changepw <oldpwd> <newpwd>
Essentials
- kits
To enable kits via signs, give to user the following permissions:
essentials.signs.kit.use
essentials.kits.<kitname>
To enable kits via /kit command, give the following permissions to the users:
essentials.kit
essentials.kits.<kitname>
Multiverse
- Permissions
/manuadd histerical Default plotworld # Change group of a user in a given world
- Set world difficulty
/mvmodify set difficulty PEACEFUL
This setting has precedence over server setting. To change server setting, edit file Server.properties on the server:
spawn-monsters=false
- Prevent spawning
/mvmodify set monsters false # Prevent monsters spawning
/mvmodify set animals false # Prevent animals spawning
- Set spawn for current world
/mv set spawn
- Create a portal
To create a portal, first create a selection containing a portal frame, then create the portal with /mpc
.
/mvpc portal_name # Create a portal named 'portal_name'
/mvpm dest world_name # Set the destination of current portal to spawn of world 'world_name'
/mvpm dest p:dest_portal_name # Set the destination of current portal to portal dest_portal_name
/mvpm dest p:dest_portal_name:n # Set the destination of current portal to portal dest_portal_name, changing player direction to 'north'
/mvpm dest p:dest_portal_name:s # Set the destination of current portal to portal dest_portal_name, changing player direction to 'south'
/mvpm dest p:dest_portal_name:e # Set the destination of current portal to portal dest_portal_name, changing player direction to 'east'
/mvpm dest p:dest_portal_name:w # Set the destination of current portal to portal dest_portal_name, changing player direction to 'west'
/mvp sel portal_name # Select portal 'portal_name' as current portal
/mvp remove portal_name # Destroy portal 'portal_name'
How-to
Import a single-player world
- Import a single player world
- Copy SP world to say ./world_singleplayer
- You need to guess the world environment (usually either NORMAL or FLAT) and if needed the generator used (see doc for more information).
- To get the list of available environment:
/mv env
- In the server:
/mv import world_singleplayer NORMAL # Import with default generator
/mv import world_singleplayer NORMAL FLAG # Import with FLAT generator
Create PlotMe world
/mv create plotworld normal -g PlotMe # Must use 'plotworld', or see PlotMe/config.yml
/mangaddp Default creativegates.use # In the PlotMe world, or user can't use creative gates anymore
/mangaddp Default plotme.use # Give user access to plotme commands
/mangaddp Default plotme.limit.1 # Limit to 1 plot / user
/plotme weanywhere # To use worldedit anywhere (protection against grief)
/mvm set monsters false # To prevent mobs spawning
/mvm set animals false # To prevent animals spawning
Edit file plugins/Multiverse-Core/config.yml:
prefixchat: 'false'
Summon any horses
From [5].
/summon EntityHorse ~0 ~1 ~0 /summon EntityHorse ~0 ~1 ~0 {Tame:1} /summon EntityHorse ~0 ~1 ~0 {Type:4,Tame:1} # Type: 0 to 4 /summon EntityHorse ~0 ~1 ~0 {Type:0,Tame:1,SaddleItem:{id:329}} # /summon EntityHorse ~0 ~1 ~0 {Type:1,Tame:1,SaddleItem:{id:329},ChestedHorse:1} /summon EntityHorse ~ ~1 ~ {Type:0,Tame:1,SaddleItem:{id:329},ArmorItem:{id:417}} # ArmorItem: 417 to 419 /summon EntityHorse ~ ~1 ~ {Type:0,Tame:1,Variant:0} # Variant: 0..6, 256..262, 512..528, 768..774, 1024..1030