Java Settlers of Catan


Demo Server only: Usually not running.
Click "Practice" to play against AI. No robots are on this server.
Games expire after 90 minutes, use "*ADDTIME*" to extend a game.
If you would like to run your own server, see the Downloads section below.


Sorry, you need Java to play online.

Play an immigrant on the newly populated island of Catan. Build settlements, roads, and cities by taking commodities from the land around you. Turn a sheep, lumber, rocks and some grain into a settlement, bricks and wood into road, or try to complete other combinations for more advanced buildings and services. Take advantage of trades with other players, or at local seaports to get commodities you might lack. The first player to gain 10 points from a combination of roads, settlements, and special cards wins.

This applet is based on a board game that you can buy from the good people at Mayfair Games.

To play, enter a nickname and then either enter a new name for a game, or double click on a game in the list to join it. Be patient when you join a game, it takes a while to load. If you try to join a game, and there is someone in the game with the same nickname as yours, it won't work. Just enter a new nickname and try again.


Downloads and Resources

The Settlers of Catan is a trademark of Mayfair Games. All rights reserved. The Settlers of Catan was originally published in German by Franckh-Kosmos Verlags-GmbH & Co. as Die Siedler von Catan. Original game design by Klaus Teuber. This program is not intended to replace the original board game in any way.


Updated 2011-11-01: (1.1.13)

  • Game name maximum length is 30, was 20 previously
  • Allow player to undo their last bank trade, if the undo is the very next thing they do, by trading the same resources back. For example, give back 1 brick to get back 3 sheep.
  • Show your player's total resource count (Rowan idea)
  • 6-player board: New game option allows using this board with 2-4 players
  • 6-player board: Chat ease of use: Focus on text input field when any text area is clicked; to put the cursor in the text areas instead of the input field, click there again.
  • Remember the player checkboxes chosen in previous trade offer
  • If new game options require a certain version, don't warn unless the required version is newer than 1.1.08 (released January 2010).
  • Warn on server startup if robots take up most of maxConnections
  • On server startup, show each property's description
  • If the graphical PlayerClient starts a server, the "server is running" text on-screen now also says "Click for info" (D Sawyer idea)
  • New debug command for robots: botname:print-vars
  • If game is in progress, joining/leaving people also announced in chat area (less clutter there)
  • Don't echo info commands like *STATS* to all players
  • Bugfix: If observer closes the game window, shouldn't ask them if want to keep playing
  • Bugfix: Truncating a long player name, don't drop the first character
  • License upgrade to GPL v3

Updated 2011-01-22: (1.1.12)

  • Don't show hovering road/settlement/city if player has no more pieces
  • Feedback if 'Road Building' clicked but 0 roads left
  • Lock/unlock button for robot seats: add tooltip, fix label when first shown
  • Bugfix: Robot 'No thanks' displays after bank trade
  • When 6-player board's window loses focus, un-expand the chat area
  • If game has observers, list them when client joins
  • For debugging, new "Free Placement" mode; see README.developer
  • Further encapsulate board coordinate encoding

Updated 2010-12-31: (1.1.11)

  • Popup to confirm before you move the robber onto your own hex
  • Show robber's previous position on the board
  • Robots: Force robot turns to end after several seconds of inactivity
  • Bugfix: "Restart" button wasn't enabled if game ends after special build
  • Bugfix: Couldn't place initial road on 6-player board's northernmost edge
  • Fix infinite loop when robot leaves during game setup
  • Game last-action time tracked, to detect idle games
  • Debug commands now case-insensitive

Updated 2010-06-13: (1.1.10)

  • Game owner tracked at server
  • Security: Limit the maximum simultaneous games/chat channels created per client: Once a game/channel is removed (all members leave), they can create another.
    Defaults are 5 games, 2 channels. Use these properties to change the default:
    	jsettlers.client.maxcreategames
    	jsettlers.client.maxcreatechannels

Updated 2010-04-17: (1.1.09)

JM: Updated 2010-01-12: (1.1.08)

  • 6-player board : use max players 5 or 6 in game options
  • Can now sometimes reconnect after connection to server is lost, when message "A player with that nickname is already logged in" appears.
  • Smaller, cleaner building panel
  • Re-word counter offer text to: Give Them / You Get
  • Cleaner scaled graphics: Draw hex dice-number circles on hex, instead of GIFs.
  • Chat text prompt ("type here to chat") cleared when clicked (D Campbell idea)
  • Other changes:
    - Fix button redraw for Discard, Year of Plenty popups on OSX
    - Fix new-game options bg color on OSX Firefox 3.5+
    - BoardPanel faster redraw: cache image of board without pieces
    - BoardPanel javadocs explain nodeMap and initNodeMapAux
    - SOCRobotBrain refactor some message-handlers out of run() (C McNeil idea)
    - Old version history (pre-sourceforge):
        Added file src/docs/old-updates-rsthomas.html
        found on web at http://jrh-xp.byu.edu/settlers/updates.htm
    

JM: Updated 2009-10-31: (1.1.07)

  • Per-game options:
    	- PL  Maximum # players (2-4)
    	- RD  Robber can't return to the desert
    	- N7  Roll no 7s during first # rounds
    	- BC  Break up clumps of # or more same-type ports/hexes
    	- NT  No trading allowed
    	
  • Other changes:
    - Re-word counter offer text
    - Hide trade offer after rejecting counteroffer (John F idea)
    - Allow debug commands in practice games
    - New applet parameter "nickname" for use with dynamic html (Rick Jones idea)
    - Framework for parsing "-" / "--" options at server commandline
    - Refactor per-turn resets from many places to new game.updateAtTurn()
    - GameList kept at server/client
    - Bugfix: Could sit down at 2 positions due to network lag
    - Rescaled board hex graphics now fall back to polygons if problem occurs
    - Removed unused hex graphics from soc/client/images
    - Fewer disconnect-reconnect debug messages from robots during idle hours
    - Don't cover board with 'choose player' popup (Rowan H idea)
    - AskDialog supports multiple lines with "\n"
    

JM: Updated 2009-06-01: (1.1.06)

  • Monopoly reports (privately) number of resources stolen to each victim
  • Reset practice game, at end of game: New randomly-selected robots, instead of same robots each time
  • Bugfix: Hangs on mac osx 10.5 after a few minutes
  • Bugfix: After disconnect/rejoin, trade offer panel overlays your controls
  • Bugfix: "Start a local server" ignored port-number textfield, was always default port

JM: Updated 2008-09-06: (1.1.04)

  • Bugfix: Cancelling 2nd initial settlement, other players lost resources
  • Bugfix: Don't disable "play card" button after buying or playing a card
  • Bugfix: Sometimes, "hovering" road or settlement wouldn't show during initial placement
  • Give player's win/loss count at end of game, unless first game

JM: Updated 2008-08-26: (1.1.03)

  • Fix bug in board-reset of practice games
  • Fix bug: At end of game, client sometimes incorrectly showed player 0 (Blue) as winner
  • Don't show hovering road/settlement/city unless player has the resources

JM: Updated 2008-08-17: (1.1.02)

  • Fix bug in board-reset after a player leaves game
  • Fix bug in robot disconnect/reconnect

JM: Updated 2008-08-12: (1.1.01)

  • Fix bug in timing of board-reset vs lost-connection
  • Fix bug in board-reset vote reporting

JM: Updated 2008-08-09: (1.1.00)

  • Visual feedback when waiting for players to discard
  • Trade offer details shown in game text messages
  • End-turn recovery when player loses connection during their turn, or when they are discarding
  • Server, client report version on connect
  • Source code now available
  • Minor UI improvements: "play card" button when multiple cards; discard/trade message font metrics; year-of-plenty popup's "done" button
See the Developers' Page for a list of changes since version 1.0.6.

JM: Updated 2008-07-21:

  • Show pieces when rejoining after lost connection
  • Attempt to end turn, if current player leaves the game
  • At end of game, give total connect time (minutes)

JM: Updated 2008-07-06:

  • Buttons cut off less often in popup dialogs
  • At end of game, give game length (minutes)

JM: Updated 2008-06-19:

  • Player shouldn't win on another's turn
  • Indicate when longest road is "stolen" by another player
  • Save and double-click jar for local server hosting

JM: Updated 2008-03-09:

  • Stretch board graphics by making window larger
  • Misc. bugfixes and cleanup

JM: Updated 2008-03-01:

  • Reset board during or after game
  • Right-click resource or port for bank/port trade
  • Move robber, choose victim: Shows player colors in popup
  • Road-building allowed with 1 road
  • Less clutter in scrolling message area
  • Confirm quit before closing window
  • Client, server show build number in console

JM: Updated 2008-01-13:

  • Fixed size of discard popup window
  • Hilight who won when game is over
  • Reminder to place 2 roads with road-building card
  • Reminder to only play 1 card per turn
  • Reminder when VP cards are played
  • Trade offer checkboxes track current player

Jeremy D Monin - email jsettlers @ nand (this server) for more details.