settlers 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,16 +11,14 @@ opponents. Initially created as an AI research project.
11
11
  The client may be run as a Java application, or as an applet when
12
12
  accessed from a web site which also hosts a JSettlers server.
13
13
 
14
- The server may be configured to use a MySQL database to store account
15
- information. A client applet to create user accounts is also
16
- provided.
14
+ The server may be configured to use a database to store account
15
+ information (details below). A client applet to create user accounts
16
+ is also provided.
17
17
 
18
18
  JSettlers is an open-source project licensed under the GPL. The
19
- software is maintained as a SourceForge project at
20
- http://sourceforge.net/projects/jsettlers.
21
-
22
- Forums for discussions and community based support are provided at
23
- SourceForge.
19
+ software is hosted at http://sourceforge.net/projects/jsettlers2
20
+ and at http://nand.net/jsettlers/devel/ . Questions, bugs, and
21
+ patches can be posted at the sourceforge page.
24
22
 
25
23
  -- The JSettlers Development Team
26
24
 
@@ -54,18 +52,20 @@ Requirements
54
52
  ------------
55
53
 
56
54
  To play JSettlers by connecting to a remote server you will need the
57
- Java Runtime Version 1.1 or above (1.4 recommended). To connect as an
58
- applet, use any browser which is Java enabled (again, we recommend
59
- Java 1.4 using the browser plug-in).
55
+ Java Runtime Version 1.4 or above (1.5 or later recommended). To connect as an
56
+ applet, use any browser which is Java enabled (using the browser plug-in).
57
+
58
+ To Play JSettlers locally you need the Java Runtime 1.4 or above.
59
+ JSettlers-full.jar can connect directly to any server over TCP/IP
60
60
 
61
- To Play JSettlers locally you need the Java Runtime 1.4 (or
62
- later). Remote clients started on the command line can connect
63
- directly to this server. To host a JSettlers server and provide a web
64
- applet for clients, you will need an http server such as Apache's
65
- httpd, available from http://httpd.apache.org.
61
+ To host a JSettlers server that provides a web applet for clients, you will
62
+ need an http server such as Apache's httpd, available from http://httpd.apache.org.
63
+ The JSettlers-full.jar file can also run locally as a server, without
64
+ needing a web server. The applet is considered more convenient,
65
+ because you know everyone will have the same version.
66
66
 
67
67
  To build JSettlers from source, you will need Apache Ant, available from
68
- http://ant.apache.org.
68
+ http://ant.apache.org, or an IDE such as Eclipse which understands Ant's format.
69
69
 
70
70
 
71
71
  Setting up and testing
@@ -73,31 +73,30 @@ Setting up and testing
73
73
 
74
74
  From the command line, make sure you are in the JSettlers distribution
75
75
  directory which contains both JSettlers.jar, settlers-server.jar and the
76
- "lib" directory. Start the server with the following command
77
- (server requires Java 1.4):
76
+ "lib" directory. (If you have downloaded jsettlers-1.1.xx-full.tar.gz,
77
+ look in the src/target directory for these files.)
78
+
79
+ Start the server with the following command
80
+ (server requires Java 1.4 or higher):
78
81
 
79
82
  java -jar JSettlersServer.jar 8880 10 dbUser dbPass
80
83
 
81
- If MySQL is not installed and running (See "Database Setup"), you will
82
- see a warning with the appropriate explanation:
84
+ If MySQL or another database is not installed and running (See "Database Setup"),
85
+ you will see a warning with the appropriate explanation:
83
86
 
84
87
  Warning: failed to initialize database: ....
85
88
 
86
- The server will function normally except that user accounts cannot be
87
- maintained.
89
+ The database is not required: Without it, the server will function normally except
90
+ that user accounts cannot be maintained. If you do use the database, you can give
91
+ users a nickname and password to use when they log in and play.
92
+ People without accounts can still connect, by leaving the password field blank,
93
+ as long as they aren't using a nickname which has a password in the database.
88
94
 
89
95
  Now, from another command line window, start the player client with
90
96
  the following command:
91
97
 
92
98
  java -jar JSettlers.jar localhost 8880
93
99
 
94
- If you are using Java 1.1 you will need to unpack the Java archive
95
- (Java could not run directly from jar files until version 1.2). The
96
- commands to unpack, then start the client are:
97
-
98
- jar -xf JSettlers.jar
99
- java soc.client.SOCPlayerClient localhost 8880
100
-
101
100
  In the player client window, enter "debug" in the Nickname field and
102
101
  create a new game.
103
102
 
@@ -112,12 +111,13 @@ something like the following in the chat display:
112
111
  * > Games finished: 0
113
112
  * > Total Memory: 2031616
114
113
  * > Free Memory: 1524112
114
+ * > Version: 1100 (1.1.00) build JM20080808
115
115
 
116
116
  If you do not, you might not have entered your nickname correctly. It
117
117
  must be "debug" in order to use the administrative commands.
118
118
 
119
119
  Now you can add some robot players. Enter the following commands in
120
- separate command line windows:
120
+ separate command line windows: (See below for how to automate this.)
121
121
 
122
122
  java -cp JSettlersServer.jar soc.robot.SOCRobotClient localhost 8880 robot1 passwd
123
123
 
@@ -129,8 +129,9 @@ Now click on the "Sit Here" button and press "Start Game". The robot
129
129
  players should automatically join the game and start playing.
130
130
 
131
131
  If you want other people to access your server, tell them your server
132
- IP address and port number (in this case 8880). They will enter the
133
- following command (or use the instructions above for Java 1.1):
132
+ IP address and port number (in this case 8880). They can run the
133
+ JSettlers.jar file by itself, and it will bring up a window to enter your IP
134
+ and port number. Or, they can enter the following command:
134
135
 
135
136
  java -jar JSettlers.jar <host> <port_number>
136
137
 
@@ -140,6 +141,14 @@ If you would like to maintain accounts for your JSettlers server,
140
141
  start the database prior to starting the JSettlers Server. See the
141
142
  directions in "Database Setup".
142
143
 
144
+ If you would like robots to automatically start when your server starts,
145
+ without the need for a separate command line, add the "startrobots" property
146
+ to your jsettlers java command line, BEFORE the port number:
147
+
148
+ java -jar JSettlersServer.jar -Djsettlers.startrobots=3 8880 10 dbUser dbPass
149
+
150
+ This will start 3 robots on the server.
151
+
143
152
 
144
153
  Shutting down the server
145
154
  ------------------------
@@ -151,16 +160,18 @@ disconnected.
151
160
 
152
161
  Hosting a JSettlers server
153
162
  --------------------------
154
- - Start MySQL server (optional)
163
+ - Start MySQL or PostgreSQL server (optional)
155
164
  - Start JSettlers Server
156
165
  - Start http server (optional)
157
166
  - Copy JSettlers.jar jar and "web/*.html" server directory (optional)
158
- - Extract JSettlers.jar to allow Java 1.1 clients (optional)
159
167
  - Copy "docs/users" to the server directory (optional)
160
168
 
161
- To host a JSettlers server, start the server as described in "Setup
169
+ To host a JSettlers server, start the server as described in "Setting up
162
170
  and Testing". To maintain user accounts, be sure to start the database
163
- first. Remote users can simply start their clients as described there,
171
+ first. (If you use a database, you can give users an account; everyone else
172
+ can still log in and play, by leaving the password field blank.)
173
+
174
+ Remote users can simply start their clients as described there,
164
175
  and specify your server as host.
165
176
 
166
177
  To provide a web page from which users can run the applet, you will
@@ -203,9 +214,29 @@ Database Setup
203
214
  --------------
204
215
 
205
216
  If you want to maintain user accounts, you will need to set up a MySQL
206
- database. This will eliminate the "Problem connecting to database"
217
+ or PostgreSQL database. This will eliminate the "Problem connecting to database"
207
218
  errors from the server. We assume you have installed it correctly.
208
219
 
220
+ The default name for the database is "socdata". To use another name,
221
+ you'll need to specify it as a JDBC URL on the command line, such as:
222
+ -Djsettlers.db.url=jdbc:mysql://localhost/socdata
223
+ or
224
+ -Djsettlers.db.url=jdbc:postgresql://localhost/socdata
225
+ or
226
+ -Djsettlers.db.url=jdbc:sqlite:jsettlers.sqlite
227
+
228
+ The default JDBC driver is com.mysql.jdbc.Driver. PostgreSQL is also
229
+ recognized. To use PostgreSQL, use a postgresql url like the one shown above,
230
+ or specify the driver on the SOCServer command line:
231
+ -Djsettlers.db.driver=org.postgresql.Driver
232
+
233
+ Depending on your computer's setup, you may need to point JSettlers at the
234
+ appropriate JDBC drivers, by placing them in your java classpath.
235
+ Your database system's JDBC drivers can be downloaded at these locations:
236
+ MySQL: http://www.mysql.com/products/connector/
237
+ PostgreSQL: http://jdbc.postgresql.org/download.html
238
+ SQLite: http://www.zentus.com/sqlitejdbc/
239
+
209
240
  Run the following commands to create the database and configure its
210
241
  tables.
211
242
 
@@ -217,7 +248,7 @@ CREATE TABLE users (nickname VARCHAR(20), host VARCHAR(50), password VARCHAR(20)
217
248
 
218
249
  CREATE TABLE logins (nickname VARCHAR(20), host VARCHAR(50), lastlogin DATE);
219
250
 
220
- CREATE TABLE games (gamename VARCHAR(20), player1 VARCHAR(20), player2 VARCHAR(20), player3 VARCHAR(20), player4 VARCHAR(20), score1 TINYINT, score2 TINYINT, score3 TINYINT, score4 TINYINT, starttime TIMESTAMP);
251
+ CREATE TABLE games (gamename VARCHAR(20), player1 VARCHAR(20), player2 VARCHAR(20), player3 VARCHAR(20), player4 VARCHAR(20), score1 SMALLINT, score2 SMALLINT, score3 SMALLINT, score4 SMALLINT, starttime TIMESTAMP);
221
252
 
222
253
  CREATE TABLE robotparams (robotname VARCHAR(20), maxgamelength INT, maxeta INT, etabonusfactor FLOAT, adversarialfactor FLOAT, leaderadversarialfactor FLOAT, devcardmultiplier FLOAT, threatmultiplier FLOAT, strategytype INT, starttime TIMESTAMP, endtime TIMESTAMP, gameswon INT, gameslost INT, tradeFlag BOOL);
223
254
 
@@ -227,19 +258,23 @@ following command:
227
258
 
228
259
  java -jar JSettlers.jar soc.client.SOCAccountClient localhost 8880
229
260
 
261
+ Users with accounts must type their password to log into the server to play.
262
+ People without accounts can still connect, by leaving the password field blank,
263
+ as long as they aren't using a nickname which has a password in the database.
264
+
230
265
 
231
266
  Development and Compiling
232
267
  -------------------------
233
268
 
234
- Source code for JSettlers is available via anonymous CVS. Source code
235
- tarballs are also made available. See the project website at
236
- http://sourceforge.net/projects/jsettlers/ for details. Patches
237
- against CVS may be submitted there.
269
+ Source code for JSettlers is available via tarballs and CVS.
270
+ See the project website at http://nand.net/jsettlers/devel/
271
+ or http://sourceforge.net/projects/jsettlers2/
272
+ for details. Patches against the latest version may be submitted there.
238
273
 
239
274
  Before building, make sure you have at least version 1.4 of the Java
240
275
  development kit installed. If you simply want to run the client and
241
- server, you only need the Java. If you wish to maintain a user
242
- database for your server, you need MySQL installed, and configured.
276
+ server, you only need the Java Runtime (JRE). If you wish to maintain a user
277
+ database for your server, you need MySQL or PostgreSQL installed, and configured.
243
278
 
244
279
  This package was designed to use the ANT tool available from
245
280
  http://ant.apache.org tools. We assume you have installed it
@@ -0,0 +1,225 @@
1
+ [ The list of the different public versions of JSettlers ]
2
+
3
+ Unless otherwise indicated, versions are hosted at http://nand.net/jsettlers/devel/
4
+ and (recent versions) at http://sourceforge.net/projects/jsettlers2/files/
5
+
6
+ > 1.1.09 (build 20100417)
7
+ - 4-player board: crisper graphics (images from 6-player board)
8
+ - Practice games don't expire (Rowan H idea)
9
+ - Show rounds remaining for "roll no 7s during first n turns" (Rowan H idea)
10
+ - When moving robber and choosing a victim, popup shows their # VPs
11
+ - 6-player board: Always allow to request special build, even if no resources.
12
+ Also allowed at start of own turn, only if not rolled or played card yet,
13
+ and not when you are the first player taking your first turn.
14
+ - 6-player: During Special Building Phase, a player can ask to Special Build after
15
+ the phase has begun, even if this means we temporarily go
16
+ backwards in turn order. (Normal turn order resumes at the
17
+ end of the SBP.) The board game does not allow this out-of-order building.
18
+ - 6-player robots: Slow down a little: Pause 75% of 4-player's pause duration, not 50%
19
+ - At end of game, hilight winner with yellow arrow
20
+ - At end of game, show number of rounds, along with time elapsed and your resources rolled
21
+ - Game options: Change of wording in minimum-version warning: ("friendly" format)
22
+ from: Client version 1107 or higher is required for these game options.
23
+ to : Client version 1.1.07 or newer is required for these game options.
24
+ - Double-clicking your face icon, or many rapid clicks, brings up the Face Chooser
25
+ - Allow 3rd-party Robot AIs, via new rbclass param in IMAROBOT message, SOCClientData.isBuiltInRobot
26
+ Print robot type on connect (built-in, or rbclass name)
27
+ - Fix: Ask 2nd practice game options, when 1st is over but its window still showing
28
+ - Fix: robots: Handle CANCELBUILDREQUEST cleanly during states PLAY1 or SPECIAL_BUILDING
29
+ - Fix: For game's 1st client, set game.clientVersionLowest (was always 0 before now)
30
+ - 6-player window: Before expanding chat area when mouse enters it,
31
+ wait 200 ms (not 100 ms) in case mouse is just passing through.
32
+ - Database: Hints on setup and usage of other db types in README.txt
33
+ - Database: default jdbc driver changed to com.mysql.jdbc.Driver,
34
+ allow other db types via java properties (see README.txt)
35
+ - Database: troubleshooting: print error message details when the driver is
36
+ available, but the database couldn't be accessed or loaded.
37
+ - When running local server: Main panel: Show version, buildnum in tooltip
38
+ - Command line: Error if dashed arguments appear after port/maxconns/db params
39
+ - Command line: Allow -Djsettlers.option=value syntax (mchenryc)
40
+ - Command line: Auto-start robots when the server starts, with this parameter:
41
+ -Djsettlers.startrobots=7
42
+ - Debug assist: SOCBoardLayout2 prints array contents
43
+ - Debug assist: Connection, LocalStringConnection +toString()
44
+ - README.developer: Coding Style section
45
+
46
+ > 1.1.08 (build 20100112)
47
+ - 6-player board, with Special Building Phase rule
48
+ - Can now sometimes reconnect after connection to server is lost,
49
+ when message "A player with that nickname is already logged in" appears.
50
+ - Smaller, cleaner building panel
51
+ - Rotated-board mode, to make it easier to fit a larger board
52
+ - Re-word counter offer text to: Give Them / You Get
53
+ - Cleaner scaled graphics: Draw hex dice-number circles on hex, instead of GIFs.
54
+ - Chat text prompt ("type here to chat") cleared when clicked (D Campbell idea)
55
+ - Fix button redraw for Discard, Year of Plenty popups on OSX
56
+ - Fix new-game options bg color on OSX Firefox 3.5+
57
+ - BoardPanel faster redraw: cache image of board without pieces
58
+ - BoardPanel javadocs explain nodeMap and initNodeMapAux
59
+ - SOCRobotBrain refactor some message-handlers out of run() (C McNeil idea)
60
+ - 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
61
+
62
+ > 1.1.07 (build 20091031)
63
+ - Per-game options framework, including these options:
64
+ - PL Maximum # players (2-4)
65
+ - RD Robber can't return to the desert
66
+ - N7 Roll no 7s during first # rounds
67
+ - BC Break up clumps of # or more same-type ports/hexes
68
+ - NT No trading allowed
69
+ - Re-word counter offer text
70
+ - Hide trade offer after rejecting counteroffer (John F idea)
71
+ - Allow debug commands in practice games
72
+ - New applet parameter "nickname" for use with dynamic html (Rick Jones idea)
73
+ - Framework for parsing "-" / "--" options at server commandline
74
+ - Refactor per-turn resets from many places to new game.updateAtTurn()
75
+ - GameList kept at server/client
76
+ - Bugfix: Could sit down at 2 positions due to network lag
77
+ - Rescaled board hex graphics now fall back to polygons if problem occurs
78
+ - Removed unused hex graphics from soc/client/images (clay0-5.gif, misc0-5.gif, ore0-5, sheep0-5, wheat0-5, wood0-5)
79
+ - Fewer disconnect-reconnect debug messages from robots during idle hours
80
+ - Don't cover board with 'choose player' popup (Rowan H idea)
81
+ - AskDialog supports multiple lines with "\n"
82
+
83
+ > 1.1.06 (build 2009-06-01)
84
+ - Based on 1.1.04's code
85
+ - Monopoly reports (privately) number of resources stolen to each victim
86
+ - Reset practice game, at end of game: New randomly-selected robots, instead of same robots each time
87
+ - STATUSMESSAGE can now carry an integer status value
88
+ - Track and understand client version starting from connect time, not just from joingame time.
89
+ - Can deny entry to individual games based on client's version (ex. client too old to understand a recent game feature, like 6 players)
90
+ - Fewer debug messages from robots during idle hours
91
+ - Many javadocs added
92
+ - Bugfix: Hangs on mac osx 10.5 after a few minutes (SnippingTextArea)
93
+ - Bugfix: After disconnect/rejoin, trade offer panel overlays your controls
94
+ - Bugfix: "Start a local server" ignored port-number textfield, was always default port
95
+ - Bugfix: harmless NullPointerException in SOCBoardPanel.setHoverText for getFontMetrics
96
+
97
+ > 1.1.05 (backed out)
98
+ JSettlers 1.1.05 had been under development (build 2008-09-13) but its direction is being re-considered.
99
+ Further development is based on 1.1.04.
100
+ - Use Log4j 1.2, vs previous homegrown soc.debug/disableDebug
101
+
102
+ > 1.1.04 (build 2008-09-06)
103
+ - Bugfix: Cancelling 2nd initial settlement, other players lost resources (SOCPlayer)
104
+ - Bugfix: Don't disable "play card" button after buying or playing a card (SOCHandPanel)
105
+ - Bugfix: Sometimes, "hovering" road or settlement wouldn't show during initial placement (SOCBoardPanel)
106
+ - Give player's win/loss count at end of game, unless first game (new class SOCClientData)
107
+ - Add StringConnection.appData, to support SOCClientData
108
+ - Javadoc adds/updates
109
+
110
+ > 1.1.03 (build 2008-08-26)
111
+ - Reset board: Bugfix: Practice games server version-check
112
+ - Don't show hovering road/settlement/city unless player has the resources
113
+ - "Play card" button: Disable after playing a card; Enable only at start of turn, not after buying a card
114
+ - Bugfix: At end of game, client sometimes incorrectly showed player 0 (Blue) as winner
115
+ - Javadocs clarify SOCPlayerClient local TCP vs practice server
116
+ - Add minor items to TODO in README.developer
117
+
118
+ > 1.1.02 (build 2008-08-17) http://nand.net/jsettlers/devel/
119
+ - Reset board: If human leaves game before reset, lock their seat against robots
120
+ - Bugfix: Robot disconnect/reconnect version reporting
121
+ - Add minor items to TODO in README.developer
122
+
123
+ > 1.1.01 (build 2008-08-12) http://nand.net/jsettlers/devel/
124
+
125
+ - Bugfix: If player loses connection while voting for board reset, the vote never completes
126
+ - Bugfix: Reset vote message format (from recent refactoring)
127
+ - Version number dynamic from properties file, not hardcoded in soc.util.Version
128
+ - Utility method SOCMessage.getClassNameShort for cleaner debug-output in template classes' toString
129
+
130
+ > 1.1.00 (build 2008-08-09) http://nand.net/jsettlers/devel/
131
+
132
+ - Development at new site, sourceforge project appeared abandoned in 2005
133
+ - Much more visually responsive to game state
134
+ - User-friendly
135
+ Can right-click on board to build, right-click ports or resource squares to trade [sf patch 1905791]
136
+ Can right-click face to choose a new face [sf patch 1860920]
137
+ Popup dialog buttons wrap if window too narrow
138
+ Robber doesn't disappear when must be moved, it just "ghosts" [sf patch 1812912]
139
+ Other minor improvements
140
+ - Local "practice-game" mode, if network connection or server is unavailable
141
+ - Play with 2-4 players, no longer requires 4
142
+ - Larger graphics on board, resizeable for higher-resolution screens [sf patch 1929452, based on images and code of rbrooks9's sf patch 1398331]
143
+ - Ability to reset board, during or after game [sf feature req. 1110481]
144
+ - Can cancel and re-place initial settlement, if you haven't yet placed the road [sf patch 1824441]
145
+ - More robust handling if client's connection to server is lost, even if current player
146
+ - Automatic dice roll after 5 seconds, if you have no playable card [sf patch 1812254]
147
+ - At end of game, show hidden VP cards for all players [sf patch 1812497]
148
+ - At end of game, give game duration and total connection time
149
+ - Announce when longest road/largest army is stolen
150
+ - Road-building allowed with 1 road [sf patch 1905080]
151
+ - Can win only on your own turn; if not your turn, must wait
152
+ - Less clutter in scrolling message area
153
+ - Confirm quit before closing window
154
+ - Show pieces when rejoining after lost connection
155
+ - Attempt to end turn, if current player leaves the game
156
+ - Client,server versioning; also add BUILDNUM property
157
+ - Can double-click jar for local server hosting (or run w. no arguments); player GUI will ask for IP and port#
158
+ - Robot bugfix, now will re-try if makes a bad piece placement
159
+ - More advance warning when game will soon expire
160
+ - Hilight who won when game is over
161
+ - Reminder to place 2 roads with road-building card
162
+ - Reminder to only play 1 card per turn
163
+ - Reminder when VP cards are played
164
+ - Trade offer's checkboxes track current player
165
+ - New graphics: images/robot1.gif; Removed obsolete: images/arrowL.gif, arrowR.gif
166
+ - Other sourceforge patches applied:
167
+ 1816668 jdmonin AWT debug help
168
+ 1816605 jdmonin Patch for #997263 cannot place road during game start
169
+ 1816581 jdmonin Fix server treater startup race
170
+ 1812257 jdmonin Debug help, minor comments
171
+ N/A sfhonza (John Vicherek) "Swinging" number of resources, http://john.vicherek.com/jsettlers-1.0.6.swing_resources.patch
172
+ 1088775 drichardson (Douglas Ryan Richardson) [1039250] Auto-rejecting impossible offers; Make accept button invisible when user cannot accept offer
173
+
174
+ > 1.0.6 (build 2004-11-17) http://sourceforge.net/projects/jsettlers
175
+
176
+ - Fixed the same PORT property error in the Account client
177
+ - Fixed bug which could allow modified clients to invoke admin
178
+ commands (*STOP*, *KILLCHANNEL*, etc) (Lasse Vartiainen)
179
+ - Fixed 920375, 1022157: mysql-connector-3.x fails: version 2.x works
180
+ (Mezryn)
181
+ - Fixed 1060651: Bots crash if database backend is used (Jack Twilley)
182
+ - Moved more SQL error handling and reconnecting from SOCServer to
183
+ SOCDBHelper correcting potential errors like 1060651
184
+
185
+ > 1.0.5 (build 2004-06-12) http://sourceforge.net/projects/jsettlers
186
+
187
+ - Fixed an error introduced into the applet initialization which kept
188
+ the PORT property from being read properly
189
+
190
+ > 1.0.4 (build 2004-06-10) http://sourceforge.net/projects/jsettlers
191
+
192
+ - build.xml file added for Ant builds
193
+ - soc.util.Version class added so both build files and source code get
194
+ version and copyright info from build.xml. Clients and server updated
195
+ - Build process creates two jar files: one for client, one for server
196
+ - README updated for jar file invocation, with additional sections for
197
+ intro, requirements, hosting a server, and development
198
+ - Fix for inconsistent game state when players leave a game.
199
+ - Divider in chat window cannot be moved off-screen
200
+ - Text of game chat now correctly scrolls to bottom of text.
201
+ - Rewrite of much of the display code to address continuing display
202
+ issues. Methods which directly manipulate GUI components can cause
203
+ race conditions, and are now never called from main networking
204
+ thread.
205
+ - Removed calls to deprecated methods
206
+ - Images can now be loaded from files (on server or not) or from
207
+ within jar.
208
+
209
+ > 1.0.3 (build 2004-03-29)
210
+
211
+ - Continuing to fix the display bug in the SOCPlayerClient
212
+
213
+ > 1.0.2 (build 2004-03-26)
214
+
215
+ - Fixed display bug (again) in the SOCPlayerClient when run as a stand
216
+ alone.
217
+
218
+ > 1.0 (build 2004-03-14)
219
+
220
+ - First release. See the README file for how to setup a server and
221
+ robot clients.
222
+
223
+ > For older version information:
224
+
225
+ - see src/docs/old-updates-rsthomas.html for 5/3/00 through 03/15/04.