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.
Odd little feature request.
MySQL support. Though I really do love SQLite and use it in my own programs, I think that putting in MySQL support would be a great idea so that websites can use the data with more ease. IE our server runs on one network and our web server is on another network cross country, if we had it writing directly into the web servers database we could get live information on the website with out having to do imports from the SQLite files.
As SQLite implementation and MySQL's implementation are not too different shouldn't be too difficult to do, and on an upside you may also want to think of having an optional mini web server to report stats as well as a feature (kind of like DynMap and others do). Not too much more work for a very powerful feature =D
Again random thoughts from my head ^_^
Cheers, Ambe
@ambedrake
Glad you're enjoying ChessCraft. Yes, I've thought about other games, but that's about it so far. Some more board games would be pretty cool. You never know, if I can find some time...
Ever think of making plugins similar to this for other game types. Some idea's could be Mexican Train (a dominoes game), Mahjongg (The 4 player classic from china not that solitare junk you get in the USA), Checker, Go, Othello etc etc etc.
Even bundling things like these games in a package with the chess plugin could make for some really entertaining competitions on servers =D
Anywho just some random thoughts out of my head, great job on this plugin it is being thoroughly enjoyed on our server ^_^
Ambedrake
@GarretSidzaka
Yes, the versioned packaging for NMS/OBC they want to introduce will break ChessCraft. If they persist on implementing the change, I'll get a new ChessCraft build out for the next beta release.
hey is the new update for bukkit going to break this?
@notif
Sounds like you have game deletion/timeouts sorted out. Just as a note,
/chess delete game <gamename>
will immediately delete a game, but only admins can do this by default (see Permissions). If regular players could do this, they could delete a game just before they're about to lose and avoid having the loss recorded (and possibly lose any stake they've bet on the game). Any player can end a game they're in immediately by resigning (/chess resign
or use the control panel button), and a loss will be recorded.As for the stacktrace ticket you created - that's fixed in 2.0.1. Was a dumb typo on my part, sorry.
I submitted the ticket about the error earlier.
Also;
Is there a way to set games to expire where the time limit is set to none? Or to disable none? -edit- Appears that I can in the config.
Or is there a way to forcefully end a game? I could not find a command for this. -edit- I tried /chess delete game <name of game, which can be found with /chess list game>
@oliver276
Yep, definitely possible, I've used the map API before. I've considered adding a map view for chess games in the past - it's doable but a fair bit of work. So... yes, maybe one day :)
@notif
That's not enough of a stack trace to know what's happening. Can you please create a ticket with the complete stack trace included?
For the board creation problem: fixed in 2.0.1, which
will behas been released today.We get an error when capturing another piece, and the server freezes up for a moment. We have the latest World Guard, too.
06.12 15:41:32 [Server] INFO n;;10;0;n;0;
06.12 15:38:09 [Server] INFO ... 14 more
06.12 15:38:09 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339)
06.12 15:38:09 [Server] INFO at java.lang.reflect.Method.invoke(Unknown Source)
06.12 15:38:09 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
06.12 15:38:09 [Server] INFO at sun.reflect.GeneratedMethodAccessor443.invoke(Unknown Source)
06.12 15:38:09 [Server] INFO at me.desht.chesscraft.listeners.ChessPlayerListener.onPlayerAnimation(ChessPlayerListener.java:145)
-edit- This doesn't always appear to happen.
/chess board create board2 -style open -pstyle twist doesn't work.
@desht
Hey, I have another idea. Could you make a map only with the board on and make it update every move? So, have 1 map that updates with every move? I've seen a map editing plugin ou there so I know that it is possible. If you're wondering, it is 'Dogtags'.
@oliver276
If you hold shift, look at any square and left-click, it will tell you what the square's (chess) coordinates are. Is that enough? I think putting signs around the edge of the board could look a little messy, but I could add it as an option...
For move history, yeah it's a good idea. I'd probably make it a ScrollingMenuSign menu (ChessCraft already integrates SMS) so you can have the move history on a sign, or even a map or spout view that you can carry around with you...
@desht
Can I ask for a feature? With signs, on a side of the arena, log all moves. So on one side of the wall have whites moves and the other side have blacks. I know that this is already a command but it would make it better. And could you also "label" the coordinates so with signs at the begining of each row/coulmn Thanks in advance.
@oliver276
Certainly does; both king & queen side castling, along with en passant pawn captures, pawn promotion... the works! This is a complete implementation of the rules of chess. To castle, just move the king from E1/E8 to G1/G8 or C1/C8, castling rules apply of course; king & rook must not have moved, and no castling into, out of, or through check.
Great plugin; sorry to be critical again but does this support "castling"? If you don't know what it is: http://en.wikipedia.org/wiki/Castling . I don't want to do it, but for others I wondered it this was supported.
@Mimir_331
Gets asked a lot. One day I might even get round to it :)
I want to learn how to play chess ONLY so i can play with this plugin.. XD looks epic.
<.< If only there was "checkers" craft... >.> Hint Hint.. <.< Nudge Nudge..?
@oliver276
That's a bug (NPE) in WorldGuard - you'll need to report it to the WG authors. Update: looks like WG fixed this bug on Nov 4th: http://youtrack.sk89q.com/issue/WORLDGUARD-2267. I believe WG 5.6.5 should have the fix in, so upgrade to that if you haven't already.
Pawn promotion is fully supported - do you have a particular concern there?
PS: It is possible to have 2+ queens as pawns can change into queens even if the first queen was not killed. this will probably do the same thing with rooks etc.
There seems to be a conflict between worldguard and chess making explosions. So when the AI took one of my rooks a console error came up because worldguard didn't like chess making explosions. Here's the error; http://pastebin.com/pdDDbCNL Edit: A simmilar thing happens with a human player taking another one. http://pastebin.com/VCWAVbNr