ChessCraft
Overview
ChessCraft is a Bukkit plugin which lets you play chess. It has support for multiple chessboards and multiple concurrent games, playing against other players, or against the computer. Multiple board and piece styles are supported, along with an integrated piece designer, player ranking ladder and more.
Latest Version
- ChessCraft 2.5.2 for CraftBukkit 1.7.9+
- ChessCraft 2.4.5 for CraftBukkit 1.7.2-R0.3/1.6.4-R2.0
- ChessCraft 2.3.4 for CraftBukkit 1.6.2-R0.1/1.5.2-R1.0/1.4.7-R1.0
Note: the ChessCraft for Bukkit plugin is completely unrelated to the Forge ChessCraft mod which can be found here: http://www.minecraftforum.net/topic/1621907-1467101chesscraft-play-chessbetter-than-chess
Videos
- See the Videos page for some demonstration & tutorial videos.
Features
- Complete implementation of the rules of chess (including castling, promotion, en passant etc.)
- Create as many chessboards as you like in your world(s), and run multiple concurrent games on them
- Create different board and chess set styles (several board/set styles are included)
- Players can fly around chess boards even without creative mode (v1.3.0+ needed)
- Permissions support (via Bukkit superperms)
- Economy support via Vault - bet economy credits on a game
- Play against human or AI opponents (using the jChecs AI engine or external engines via the XBoard protocol)
- WorldEdit support - terrain restoration if & when boards are deleted
- ScrollingMenuSign Support - create useful command menus of games/boards
- Integrated chess piece designer
- Translations - ChessCraft messages can be translated into other languages
- Database support: game results and game details (PGN) are saved to SQLite or MySQL database
- Leaderboard showing the top players on the server based on game results saved to the database
Installation
- Copy ChessCraft.jar into your Bukkit plugins/ folder.
- Optional: If you want Economy support, you will also need to install the Vault plugin.
- Optional: If you have WorldEdit installed, terrain will be automatically backed up when chess boards are created (and restored upon board deletion). WorldEdit v5.3+ is required - WorldEdit-5.3-SNAPSHOT or any earlier release will not work.
- Optional: If you have ScrollingMenuSign installed, ChessCraft will create SMS menus for board/game management. See ScrollingMenuSign Support.
- Optional (2.4.0+): If you have Dynmap installed, chessboards will be marked on your maps.
- Optional (2.4.0+): If you have Citizens installed, entity chess sets will be available, using NPC's for chess pieces.
- Optional (2.4.0+): ProtocolLib is a recommended dependency if you are using entity chess sets, to quieten mobs down.
- Restart or reload your server.
Documentation
- Quickstart Guide
- Command Reference
- Configuration File
- Getting Around The Board
- Board Styles
- Piece Styles
- List of stock board and piece styles
- Piece Designer
- Time Controls
- Permissions Support
- ScrollingMenuSign Support
- Player Leaderboard
- WorldEdit Support
- Economy Support
- Dynmap Support
- AI - Computer Players
- Translations
Source
Development Versions
Development versions can be downloaded from this Jenkins build server. Notes:
- Development versions have not been approved by dev.bukkit.org staff
- Development versions may be buggy or fail to work completely. Only use development versions if you a) want to help with finding bugs, or b) have been asked to, to test a bugfix.
Bukkit Forums
Changelog
Bugs and Feature Requests
Use the Tickets tab to submit any bug reports or feature requests.
Usage Statistics
Since ChessCraft v1.1.0, fully anonymous usage statistics are collected using MCStats:
If you wish to opt out of MCStats metrics collection, edit plugins/PluginMetrics/config.yml
and change opt-out: false to true.
Donations
If you use and enjoy ChessCraft, you are welcome to make a donation by clicking the "Donate" button at the top right. However, donations are strictly optional, and don't confer any special benefits over non-donors.
@XdeathringzX
lol. I run a server already. Notice the signature. Thanks for the offer though.
@lANTHONYl
Nice! hey, starting up a server, would you like to be a builder? i'll give you rank
Built a stadium for chess tournaments, figured i'd share some screenshots.
Additional images
Stadium-1
Stadium-2
Stadium-3
Stadium-4
Stadium-5
Stadium-7
Stadium-8
Wow! This plugin looks amazing! Sorry for my bad english, i'm Brazilian.
@jblanda
I know 2.3.3 doesn't work with CB 1.6.2. There's a dev build here which works: http://jenkins.genesis-mc.com/job/ChessCraft/11/
A 2.3.4 release (which should be identical to the above dev build) will be out soon.
(Oh, and I'd appreciate it if big stacktraces were not posted on the front page. Either use a Ticket or link to a pastebin or similar URL)
If you need testing, me and my friends might be able to help, im having one problem though, im using: /chess create board board1 -style large and getting
plugman reload ChessCraft
11:45:07 [INFO] [ChessCraft] Enabling ChessCraft v2.3.3 11:45:07 [SEVERE] java.lang.ClassNotFoundException: me.desht.chesscraft.dhutils. nms.v1_6_R2.NMSHandler 11:45:07 [SEVERE] at java.net.URLClassLoader$1.run(Unknown Source) 11:45:07 [SEVERE] at java.net.URLClassLoader$1.run(Unknown Source) 11:45:07 [SEVERE] at java.security.AccessController.doPrivileged(Native Me thod) 11:45:07 [SEVERE] at java.net.URLClassLoader.findClass(Unknown Source) 11:45:07 [SEVERE] at org.bukkit.plugin.java.PluginClassLoader.findClass0(P luginClassLoader.java:80) 11:45:07 [SEVERE] at org.bukkit.plugin.java.PluginClassLoader.findClass(Pl uginClassLoader.java:53) 11:45:07 [SEVERE] at java.lang.ClassLoader.loadClass(Unknown Source) 11:45:07 [SEVERE] at java.lang.ClassLoader.loadClass(Unknown Source) 11:45:07 [SEVERE] at java.lang.Class.forName0(Native Method) 11:45:07 [SEVERE] at java.lang.Class.forName(Unknown Source) 11:45:07 [SEVERE] at me.desht.chesscraft.dhutils.nms.NMSHelper.init(NMSHel per.java:28) 11:45:07 [SEVERE] at me.desht.chesscraft.ChessCraft.onEnable(ChessCraft.ja va:121) 11:45:07 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug in.java:217) 11:45:07 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin( JavaPluginLoader.java:457) 11:45:07 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si mplePluginManager.java:381) 11:45:07 [SEVERE] at com.ryanclancy000.plugman.utilities.Utilities.reloadP lugin(Utilities.java:440) 11:45:07 [SEVERE] at com.ryanclancy000.plugman.PlugManCommands.onCommand(P lugManCommands.java:83) 11:45:07 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginComman d.java:44) 11:45:07 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo mmandMap.java:189) 11:45:07 [SEVERE] at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchCo mmand(CraftServer.java:523) 11:45:07 [SEVERE] at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchSe rverCommand(CraftServer.java:512) 11:45:07 [SEVERE] at net.minecraft.server.v1_6_R2.DedicatedServer.ar(Dedic atedServer.java:262) 11:45:07 [SEVERE] at net.minecraft.server.v1_6_R2.DedicatedServer.t(Dedica tedServer.java:227) 11:45:07 [SEVERE] at net.minecraft.server.v1_6_R2.MinecraftServer.s(Minecr aftServer.java:486) 11:45:07 [SEVERE] at net.minecraft.server.v1_6_R2.MinecraftServer.run(Mine craftServer.java:419) 11:45:07 [SEVERE] at net.minecraft.server.v1_6_R2.ThreadServerApplication. run(SourceFile:582) 11:45:07 [SEVERE] [ChessCraft] ChessCraft version 2.3.3 is not compatible with t his CraftBukkit version. 11:45:07 [SEVERE] [ChessCraft] ChessCraft version 2.3.3 is not compatible with t his CraftBukkit version. 11:45:07 [SEVERE] [ChessCraft] Check http://dev.bukkit.org/server-mods/chesscraf t for information on updated builds. 11:45:07 [SEVERE] [ChessCraft] Check http://dev.bukkit.org/server-mods/chesscraf t for information on updated builds. 11:45:07 [SEVERE] [ChessCraft] Plugin disabled. 11:45:07 [SEVERE] [ChessCraft] Plugin disabled. 11:45:07 [INFO] [PlugMan] ChessCraft Reloaded!
@desht
lmao AI vs AI... Could be in for a cpu workout ;)
@lANTHONYl
No, but it's a good idea. I actually thought about it way back around the v0.1 days but never got round to writing it. One problem is it's quite hard to test without a lot of people, but I guess the AI's can be used...
Any built-in method of defining tournaments? Would be nice to have a sign-up period open for so many days and move people around a leaderboard setup. Grand champion gets some prize (items and/or money through Vault)
@Lildirt
Thanks for the kind words :) Yes, Checkers is mine too - you may have spotted just how similar the two plugins look...
Very much appreciated for this plugin. Great work, really.
I would stand up, give you a sturdy handshake, and throw a lifetime supply of milk and cookies at you for your work. If I'm not mistaken, you're the developer of Checkers as well. Definitely a winner right here. Keep it up, man. This provides much entertainment for me :)
It'll even stick around for when I recode my server! :D
@luigi_vampa
Hi, thanks for the stacktrace - very helpful. The bug is most certainly in Denizens - NPE being thrown at net.aufdemrand.denizen.scripts.containers.core.WorldScriptHelper.entityExplode(WorldScriptHelper.java:486). It is being triggered by ChessCraft, though, when the explosion effect gets played (which happens when a piece is captured). However, it's just a zero-power visual explosion effect - Denizens is doing something wrong in its EntityExplodeEvent handler.
Just updated chess craft and denizens to dev builds of 1.6.2, started the server and the only thing I've done since getting on is play a game of chess. The sever log is now full of [SEVERE] errors. http://pastebin.com/jCRk8f0i Not sure if they are chess craft errors or not looking at them. there was no interaction with the denizens so no event handlers should have been fired for them. The game I played ran perfectly though, just thought you might like to see the errors.
Nice work, thank you very much! :D
Development build for ChessCraft supporting CB 1.6.2 available: http://jenkins.genesis-mc.com/job/ChessCraft/9/artifact/target/ChessCraft.jar
No new features; a new release will out soon.
v2.3.3 released with CB 1.6.1 support (and a couple of other minor fixes).
Please note that I won't be providing support for issues on CB 1.6.1 unless they can also be reproduced on the stable CB 1.5.2-R1.0 server. CB 1.6.1 is still an early development release.
@GarretSidzaka
2013-07-01 22:52:44 [INFO] [ChessCraft] Enabling ChessCraft v2.3.2 2013-07-01 22:52:44 [SEVERE] java.lang.ClassNotFoundException: me.desht.chesscraft.dhutils.nms.v1_6_R1.NMSHandler 2013-07-01 22:52:44 [SEVERE] at java.net.URLClassLoader$1.run(Unknown Source) 2013-07-01 22:52:44 [SEVERE] at java.net.URLClassLoader$1.run(Unknown Source) 2013-07-01 22:52:44 [SEVERE] at java.security.AccessController.doPrivileged(Native Method) 2013-07-01 22:52:44 [SEVERE] at java.net.URLClassLoader.findClass(Unknown Source) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) 2013-07-01 22:52:44 [SEVERE] at java.lang.ClassLoader.loadClass(Unknown Source) 2013-07-01 22:52:44 [SEVERE] at java.lang.ClassLoader.loadClass(Unknown Source) 2013-07-01 22:52:44 [SEVERE] at java.lang.Class.forName0(Native Method) 2013-07-01 22:52:44 [SEVERE] at java.lang.Class.forName(Unknown Source) 2013-07-01 22:52:44 [SEVERE] at me.desht.chesscraft.dhutils.nms.NMSHelper.init(NMSHelper.java:28) 2013-07-01 22:52:44 [SEVERE] at me.desht.chesscraft.ChessCraft.onEnable(ChessCraft.java:121) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:382) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.craftbukkit.v1_6_R1.CraftServer.loadPlugin(CraftServer.java:284) 2013-07-01 22:52:44 [SEVERE] at org.bukkit.craftbukkit.v1_6_R1.CraftServer.enablePlugins(CraftServer.java:266) 2013-07-01 22:52:44 [SEVERE] at net.minecraft.server.v1_6_R1.MinecraftServer.l(MinecraftServer.java:320) 2013-07-01 22:52:44 [SEVERE] at net.minecraft.server.v1_6_R1.MinecraftServer.f(MinecraftServer.java:297) 2013-07-01 22:52:44 [SEVERE] at net.minecraft.server.v1_6_R1.MinecraftServer.a(MinecraftServer.java:258) 2013-07-01 22:52:44 [SEVERE] at net.minecraft.server.v1_6_R1.DedicatedServer.init(DedicatedServer.java:160) 2013-07-01 22:52:44 [SEVERE] at net.minecraft.server.v1_6_R1.MinecraftServer.run(MinecraftServer.java:398) 2013-07-01 22:52:44 [SEVERE] at net.minecraft.server.v1_6_R1.ThreadServerApplication.run(SourceFile:582) 2013-07-01 22:52:44 [SEVERE] [ChessCraft] ChessCraft version 2.3.2 is not compatible with this CraftBukkit version. 2013-07-01 22:52:44 [SEVERE] [ChessCraft] Check http://dev.bukkit.org/server-mods/chesscraft for information on updated builds. 2013-07-01 22:52:44 [SEVERE] [ChessCraft] Plugin disabled.
@desht
first off thank-you for the reply so quick. I would think that a denizens script could take care of movement,and actions. I want the npc to kill the other, lol. yes I know i dont ask much.
@antichip
Entity pieces is something I've been thinking about, and might even happen :) I just need to learn the Citizens 2 API firs, and some internal changes will be needed for the ChessCraft board painting logic. Not trivial, but not impossible either...