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.
@desht
Can't recreate a new game as the board has everything greyed out. Went to a board which hadn't been used and it has Create Game but cannot start one by clicking it.
@WauloK
Nope, the pieces are probably just left over due to the previous failed startup. Either do
/chess redraw -all
to force a redraw of all boards, or just create a new game on the board - that'll force a redraw anyway.@desht
OK ProtocolLib updated and I'm using 2.4.1 from below. I have pieces on two boards but it says there are currently no games so it won't let me delete them. Do I need to delete a file somewhere to reset?
@WauloK
Aha. I suspect your version of ProtocolLib is outdated - install the latest one. ProtocolLib 2.7.0 works fine.
Also, if you don't have Citizens enabled, there's a known problem with ChessCraft startup. In that case, do one of:
@desht
Oh! You're right. I should have checked the server log.
http://pastebin.com/myTnyDbb
java.lang.NoSuchMethodError: com.comphenix.protocol.events.PacketAdapter.params(Lorg/bukkit/plugin/Plugin;[Ljava/lang/Integer;)Lcom/comphenix/protocol/events/PacketAdapter$AdapterParameteters;
@WauloK
Hmm, that screenshot shows your clock hasn't ticked at all. Either you made your move in 0 seconds of the game starting (unlikely) or there's a problem with the scheduled repeating task that ticks the clock and (wait for it) checks for pending AI moves.
So the question is, why's that not being scheduled? Can you pastebin or similar your server startup log for me (feel free to PM me if you don't want it being published). If the ChessCraft onEnable() gets an exception, it's possible the ticker task isn't getting set up, which would cause exactly the problem you're seeing here.
@desht
You're welcome to pop on and have a look:
http://i229.photobucket.com/albums/ee42/waulok/chessgame_zpsbe1fd7d2.jpg
@desht
Just started another game on a different board. jcmm3 is playing me and I've been waiting 5 minutes for a move...
@WauloK
I've just had a few games with that AI, and didn't have a problem...
Any database access is done asynchronously (separate Java thread) so should have zero impact on gameplay. Anyway, database writes are only done when the game is finished, not during play.
What does
/chess list game <your-game-name>
show? What status is the game in?You can delete the game with
/chess del game <your-game-name>
(assuming you have the chesscraft.admin permission or are a server op).@desht
I went first with one move and that was it. After several minutes nothing had happened.
If the database was having problems, Checkers would have the same problem, no? :)
Edit: I just logged on now and the chess game is still set up, even though I resigned.
@WauloK
I've not seen AI's go comatose before - how long did you wait before quitting? And how far into the game were you? If you can remember the board position, that would be even better. I'll do some testing with that AI (jcns4) anyway.
As for the database error - never seen that one before, but looking at it, I'd say you have some bad connectivity problems between your CraftBukkit server and your database server. Note that it's an error from the Java SQL library, not ChessCraft itself.
Flying in Checkers - can you raise a ticket on the Checkers page please, and include as much detail as possible?
Got 2.4.0
Tried it out
Started a game against AI. I moved but the AI hasn't moved in a while. I resigned the game but the pieces on the board are not resetting, tho it did say I lost my stake in the game so it definitely had ended. Checkers seems to be working fine, however, except I cannot fly.
Console says:
23:24:13 [INFO] � jcns4 beat WauloK (resigned) in a game of Chess!
23:24:13 [WARNING] [ChessCraft] failed to save results record to database: The last packet successfully received from the server was 46,493,334 milliseconds ago. The last packet sent successfully to the server was 46,493,369 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
23:24:13 [WARNING] [ChessCraft] failed to save results record to database: No operations allowed after connection closed.Connection was implicitly closed by the driver.
23:24:13 [WARNING] [ChessCraft] failed to save results record to database: No operations allowed after connection closed.Connection was implicitly closed by the driver.
23:24:13 [WARNING] [ChessCraft] failed to save results record to database: No operations allowed after connection closed.Connection was implicitly closed by the driver.
23:24:13 [WARNING] [ChessCraft] failed to save results record to database: No operations allowed after connection closed.Connection was implicitly closed by the driver.
New major release: 2.4.0 with CB 1.6.4 support, entity chess sets, dynmap support and more!
http://dev.bukkit.org/server-mods/chesscraft/files/35-chess-craft-2-4-0/
@desht
Thanks! :)
@WauloK
ChessCraft doesn't support CB 1.6.4 yet; a new release (or at least a link to a dev build) will out soon, probably Monday.
I still get this:
java.lang.ClassNotFoundException: me.desht.chesscraft.dhutils.nms.v1_6_R3.NMSHandler
http://pastebin.com/BsMUUKes
Update to 1.6.4, please)
@deleted_9919227
http://en.wikipedia.org/wiki/Rules_of_chess#Castling
Just move the king - the rook will be moved automatically.
Care to explain how you castle? I tried what I thought might work (basic clicks and stuff) but ti didn't work, I don't think it's an error, it's most likely me not knowing how to :P
@Gazum123
Try
/chess set log_level fine
and then check your console or server.log for messages regarding permission checks. You can do/chess set log_level info
when finished.