📄 news
字号:
Ferrein for providing a patch.
* Fixed gcc 4.0 build problems
* Fixed crash on exit when using libcsvsaver
[10.0.3]
* Fixed defect #1182281 which resulted in linking problem with playerparam
library. Thanks go to HuangZhuo and Ma Jie for reporting this problem
and testing the fix.
* Fixed defect #1183388 which resulted in all .conf files containing server
parameters, rather then the parameters they are supposed to contain.
Thanks go to Thomas Gabel for reporting this defect.
* Fixed defect #1183390 which caused the server crash when parsing CLang
messages. Thanks go to Thomas Gabel for reporting this defect.
* Fixed possible memory leak in coach parser. Hopfully this will fix defect
#754241 reported by Brian Tanner a very long time ago. Thanks go to Brian
Tanner for reporting this and to Pat Riley for suggesing the possible
cause.
* Fixed part one of defect #773792 in which the ball speed is not set to
zero when heterogeneous players with a non-zero kick_rand parameter
violate the FreeKickFault rule, and as a result (of the non-zero ball
speed) the server changed the playmode to play_on immediately. This was
caused by ball noise being added to the ball after the FreeKickFault was
called. Thanks go to Hidehisa Akiyama for reporting this problem and for
providing a very useful analysis of the defect.
* Fixed part two of defect #773792 in which a FreeKickFault would not be
called if the kick taker kicks the ball and then collides with the ball
without dashing and subsequently dashes into the ball or kicks the ball
before any other player. Thanks go to Hidehisa Akiyama for reporting this
problem and for providing a very useful analysis of the defect.
[10.0.2]
* Fixed default value for half_time. If the
~/rcssserver/server.conf was created with a defective version of
the server, then you will need to either remove your
~/rcssserver/server.conf or replace the line
server::half_time = 30
with
server::half_time = 300
in order to set the half_time length to 3000 cycles.
* Removed debugging output that occurred when players issue move
commands.
* Fixed bug that prevented online coaches from connecting. The
server would report that there was no serialiser for the version
specified by the online coach.
[10.0.1]
* Requires RCSSBase 10.0.9
* The configuration parser library from RCSSBase now allows '-' or
'--' before the options. This means the following three commands are
the same:
`rcssserver server::port=6000`
`rcssserver -server::port=6000`
`rcssserver --server::port=6000`
* The configuration parser now directly supports module loading (as
opposed to the server::module option) via the "load=<libname>",
"setpath=<path>" and "addpath=<path>" options. The
"server::module" and "server::module_path" options are no longer
supported. If the library cannot be loaded, a list of available
modules will be listed, so long as rcssmodtest (from rcssbase) is
in your path, othewise you can get a list of available modules
via the --help option (see below).
* The new parser also supports a new help option. run
`rcssserver --help`
for details. Each namespace provides it's own help information
via the
`--<namespace>::help`
option, where <namespace> is the namespace you require help with.
Help for a particular module can on be displayed if that module
has been loaded. You can load the module and display it's help
information by using
`--load="<libname>" --<namespace>::help`,
where <libname> is the name of the module you wish to load. If you
don't know what namespace the module uses, it will be listed if you
use
`--load="<libname>" --help`.
* Fixed bug that would prevent (on certain platforms) modules from
being found when the server was installed.
* Fixed OS X build issues
[10.0.0]
* Requires RCSSBase 10.0.8
* The configuration script will now look for a RCSSBASE enviroment
variable and set the approriate flags to look for the rcssbase
libraries, headers and exes in the location specified by rcssbase.
For instance, if rcssbase was configured with a prefix of $HOME,
then you should configure rcsssever with RCSSBASE equal to $HOME.
* Modules are now installed into PREFIX/lib/rcssserver/modules and
server::module_dir paramter should be set to PREFIX/lib/rcssserver/modules,
where PREFIX is the installation prefix (/usr/local by default or
/usr if you are using rpms). You can then specify what modules
should be loaded by using the server::module parameter (do not include the
suffix for the library). The only exception to this is the synctimer and
stdtimer modules. In this case the correct module is loaded based on the
value of server::sync_mode parameter.
* Fixed defects regarding the slow_down_factor parameter which could alter
the length of a half or cause the simulator to crash if set too high.
* Fixed build problems on OS X. The file created in the build directory runs
but haven't tested beyond that. The installed version has problems
running because it can find load the modules. Very strange. The best
approach at this stage is to install (so the modules go into the right
place), but use the exectuable from the build directory.
* Fixed build problems on Solaris 9. It has a similar problem to the OS X
build, but it can at least load the std timer. The version in the build
directory can load all modules. The sample client does not build with a
ncurses interface and `--without-ncurses` must be used during configure.
[9.4.5]
* Fixed defects in penatly shootouts. Now if automatic player
placement is on, only the players out of place are moved.
* Fixed defect in locating the configuration directory on windows
systems without cygwin installed. The config files will now go
into "My Documents/.rcssserver" on all windows systems.
[9.4.4]
* Fixed defect that send "halfTime()" to players at half_time,
rather than "half_time".
* Fixed defect that would set the ball to not caught immediately
after it was caught, thus preventing goalies from moving with the
ball.
[9.4.3]
* Fixed defect in penalty shootout procedure that made it impossible
to score when opponent team didn't had a goalkeeper on the field.
* Fixed defect that called the kickTaken callback instead of the
ballCaught callback of the referees.
* Fixed defect that allowed indirect kicks to be circumvented by
waiting for a drop ball. Now if a drop ball is awarded, the team
that was given the indirect free kick cannot score unless the ball
touches two of it's players or an opponent or the play is stopped
for some other reason.
* Fixed defect that would allow the penalty shootout kicker to kick
the ball in the same cycle that it was caught by the goalie.
* Fixed defect that would cause the server to go straight into
penalty shootout mode when the half_time parameter was negative.
* Fixed defect that would no include the goalies in the list of
kickers in penalty shootouts.
* Fixed defect that allowed goalies to move with the ball outside of
the penalty area. Now if the goalie moves or dashes while that ball
is caught and moves the ball out of the penalty area, a catch fault
is awarded and the ball placed on the closest edge of the penalty
area, unless the goalie takes it over it's own goal line, in which
case a goal or corner kick is awarded. The goalie is not moved
unless it is within 9.15 meters of where the free kick is given.
* Fixed defect in configuration file generation, where some values
where written in their modified form (i.e. half_time was 3000
instead of 300).
* MySQLSaver will now create the tables it uses if they don't exist
in the database. This now means that there is very little setup
required to start saving results to a MySQL database. All you need
to do is start mysqld and create a database for the results and
grant access to that database. For instance, something like
mysql -u root
mysql> create database `rcss`;
mysql> grant all privileges on `rcss` to 'myuser';
mysql> flush privileges;
should do the trick.
The start the server with the following options
MySQLSaver::save=on
MySQLSaver::db='rcss'
MySQLSaver::user='myuser'
and optionally
MySQLSaver::round_name='the name of the round'
MySQLSaver::event_name='the name of the event'
or edit their defaults in ~/.rcssserver/MySQLSaver.conf
* Fixed bug which caused MySQLSaver and StdOutSaver to always be
disabled
* Fixed bug in MySqlSaver in the formating of the time field.
* Added time output to StdOutSaver.
* Added CSVSaver. This module saves the results to a file as comma
seperated values. It is turned off by default, but can be enabled
with the CSVSaver::save option. The default file is
"rcssresults.csv", which can be changed with the
CSVSaver::filename option. If the file does not exist, it will be
created. If it does exist the data will be appended to the end of
the file. Each line contains the results for a game in the
following format:
TIME, TEAM_LEFT, TEAM_RIGHT, COACH_LEFT, COACH_RIGHT, SCORE_LEFT,
SCORE_RIGHT, PEN_ATTEMPTS_LEFT, PEN_ATTEMPTS_RIGHT,
PEN_SCORED_LEFT, PEN_SCORED_RIGHT, COIN_TOSS_WINNER
Where:
TIME is in the format %Y-%m-%d %H:%M:%S,
TEAM_LEFT is the name of the left team in double quotes or NULL
TEAM_RIGHT is the name of the right team in double quotes or NULL
COACH_LEFT is the name of the left coach in double quotes or NULL
COACH_RIGHT is the name of the right coach in double quotes or NULL
SCORE_LEFT is the number or goals scored by the left team
SCORE_RIGHT is the number or goals scored by the right team
PEN_ATTEMPTS_LEFT is the number or penalties attempted by the left
team or NULL
PEN_ATTEMPTS_RIGHT is the number or penalties attempted by the right
team or NULL
PEN_SCORED_LEFT is the number or penalties scored by the left team
or NULL
PEN_SCORED_RIGHT is the number or penalties scored by the right
team or NULL
COIN_TOSS_WINNER is LEFT, RIGHT or NULL
* Fixed problem in locating llimporter
* The result savers are now loaded before the game. This way any
errors in parsing the configuration files or command line are seen
before the game starts.
* The MySQLSaver now has a few more parameters. Please also note
that the file parameter that was previously mentioned never
existed. Use the include parameter instead. The saver now has a
port parameter to specify what port should be used for the TCP
connection. There is also a unix_socket parameter, to specify the
name of a socket or named pipe that should be used for the
connection. You can enable compression and ssl on the connection by
using the compress and ssl parameters respectively. You can now
specify the round_id that the game is part of. If the round_id is
not specified, round_name is used, along with the event_id or
event_name parameters. If the event_id is specified, then the
event_name is ignored.
[9.4.2]
* Fixed bug in build process that would complain that there was not
target fot the -lrcsslibloader library
[9.4.1]
* Fixed bugs in CLang that would cause crashed when using point
arithmetic and comparison operations.
[9.4.0]
* The server will now try to interprete ~ in filenames correctly on
Windows platforms. The code is untested and as such probably
buggy. Please provide as much information as possible when
reporting bugs on this.
* Added new server parameter option pen_coach_moves_players. When
this value is set to true and one of the players of a team is not
standing correctly at the end of the setup period in the penalty
shootout, all players of this team are repositioned to a legal
position. If during the penalty a player moves to a invalid
position, it will be automatically move to the correct position.
This means that with this option enabled, positional fouls are no
longer possible during penalty shootouts.
Do note that the player moved to the position to take the penalty
shootout is the first of the players in the set of players that have
not yet taken a shootout. This can thus be the goalkeeper and also
does not have to be the player positioned closest to the ball.
* Added a result saver that stores the results in a mysql database.
This module will only be created if the mysql libraries can be found
on your system. This saver read configuration information from the
command line arguments in the form of
module::MySQLSaver::PARAM=VALUE
where PARAM is a configuration parameter and VALUE is the value you
want to set it to. The following is the list of parameters
understood by the MySQLSaver, their default values and a brief
description:
+-------+---------+---------------------------------------------+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -