📄 news
字号:
`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: +-------+---------+---------------------------------------------+ | Param | Default | Description | +=======+=========+=============================================+ | host | "" | The host name of IP of the machine running | | | | the MySQL database. An empty string | | | | indicates that the localhost will be used. | +-------+---------+---------------------------------------------+ | user | "" | The username to use connecting to the | | | | database. The empty string indicates that | | | | current unix username will be used | +-------+---------+---------------------------------------------+ | pass | "" | The database password for the user being | | | | used. | +-------+---------+---------------------------------------------+ | db | "" | The name of the database to use. An empty | | | | string indicates that that default database | | | | will be used. | +-------+---------+---------------------------------------------+ * Added a result saver that prints the results of the game to stdout in a human readable format. You should not try to parse this with another program, as no guarantees about it's format are made, and it may change from version to version. If you wish to get text results in a parsable format, please create your own module for doing so. * Added support for saving game results via dynamically loaded modules (see below for information about modules). A result saver must inherit from rcss::ResultSaver and on initialisation of the module, it must register with rcss::ResultSaver::Factory factory. An example of how this is done can be seen in stdoutsaver.cpp. * Integrated the new configuration parser in rcssbase. The old configuration file format is no longer supported, but can be easily converted to the new format using the following awk script. awk '/^[ \\t]*$/ {} \ /^[^#]+[:]/ { gsub(/:/, \"=\" ); $1 = \"server::\" $1; } \ /^[ \\t]*[^#:=]+$/ { $1 = \"server::\" $1 \" = true\"; } \ { print; }' \ oldserver.conf > newserver.conf The server uses this technique to read ~/.rcssserver-server.conf if it exists and ~/.rcssserver/server.conf (the new conf file) does not and then save the configuration to ~/.rcssserver/server.conf. This means that most users will be unaffected by the configuration file changes and ~/.rcssserver/server.conf will be created with all their current options. A similar procedure is used for ~/.rcssserver-player.conf and can be used for other player.conf files. You will also need to modify any scripts you have that pass parameters to rcssserver, by replacing -PARAM VALUE with either server::PARAM = VALUE or player::PARAM = VALUE and -sfile FILE and -pfile FILE with include = FILE. * Added support for automatic module loading. Modules can be added or removed by adding them to the module directory (default is /usr/local/share/rcssserver/modules) which can be specified with the module_dir server parameter. On systems where dynamic loading is not supported, or static compilation is used, module loading can be simulated by using the RCSSSERVER_DLOPEN_LIBS option during configure. Custom modules must contain the following line LIBLOADER_EXPORT( libname, init, fin ); Where libname is the name of the library without the file extention (e.g libstdoutsaver) and init and fin are the names of initialisation and finalisation functions for the module. These functions must take not parameters and must return void. Your module must also register (and deregister) it's class(es) with an object factory (this is usually done in the initialisation and finalisation functions), which is used in the server to create instances of the class. Please see the base class's object factory interface for more details. * Added support for coach names in the log file names. The online init command now has the following format: (init TEAMNAME [COACHNAME] [(version X)]) e.g. (init myteam (version 7)) (init myteam mycoach)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -