?? news
字號:
(init myteam mycoach (version 6)) are all valid online coach init string. At the end of the game, the logfiles are renamed and if the online coach specifies a coachname when it connects, then _COACHNAME is added after the team name. e.g. 200305081101-test_coach_1-vs-test2_coach2_2.rcl is an example of a log file for 'team' vs 'team2', where 'team' had an online coach called 'coach' and 'team2' had an online coach called 'coach2'. * Fixed a defect where pointing players were sent twice in a see message.[9.3.7] * Fixed defect in the sending of team graphics to monitors where the first line of the data was repeated and there was no space between team_graphic_{l|r} and(. Thanks got to Matus Horvath for reporting the problem and providing the patch. * Fixed gcc3.3 compilation problem.[9.3.6] * Fixed defect that caused a segmentation fault when a player reconnected.[9.3.5] * Fixed bug in the handling of ear on/off commands sent by players, where partial and complete where inverted. * To help with future user problems, the server now also outputs at startup the version of rcssbase being used. * Fixed catch_fault_r string which was perviously cacth_fault_r. * Fixed online coach releated seg fault. This may have been caused if a coach tryed to connect after a coach had already connected and disconnected for the same team. * A bug was fixed that was causing nested conditions in CLang to be restructured in logically incorrect way.[9.3.4] * The default values for tackle_dist and tackle_width have been changed to 2.0 and 1.0 respectively. You will either need to change these manually in your ~/.rcssserver-server.conf remove your ~/.rcssserver-server.conf to have the defaults regenerated. * Added constraint such that substitutions are not allowed after the normal and extra halfs have passed. It is thus not possible anymore to make substitutions during or just before the penalty shootouts.[9.3.3] * The rcsoccersim script will now report errors if the server or a monitor cannot be found. The script has also been modifed to use the monitor specified by the RCSSMONITOR enviroment variable as the default monitor (this can be handy of you use your own monitor or wish to change the default to the classic monitor). If RCSSMONITOR is not set, the script will try to use either rcssmonitor or failing that, rcssmonitor_classic. At anytime you can override the default by using the -frameview and -classic options. * Fixed bug where recover_init was sent to v8 players when it shouldn't have been. * Some build problems on OS X have now been fixed. The server seams to work on OS X, if built statically. For dynamic libs to work you will at the very least need to rebuild the libtool and auto* components by running aclocal glibtoolize --force --copy aclocal autoheader automake --add-missing --copy autoconf from the rcssserver directory. There may be other problems that I am unaware of.[9.3.2] * RCSSClient can now be compiled without ncurses on systems that do have ncurses, by using the '--without-ncurses' parameter to configure. * The SED environment variable is now set automatically in the libtool script, during configure. * Fixed crash during initialization of default server paramters on Solaris platforms * RCSServer now will compile with either sstream or strstream, depending on which is available.[9.3.0] * Fixed bug in synch mode that would cause the server to send "think" commands to disconnected clients and wait for a response from them. * Fixed bug in flex usage that would require manual editing of the generated source files on some systems. This bugs would only affect people who are checking out the code from CVS, those editing the .ll files or those rebuilding the generated code for other reasons. * Fixed bug in synch mode that would result in a server crash when clients disconnect. * Fixed bug that allowed kicks and tackles after the end of the match. * Fixed bug where the effort_init server parameter was not set, not used, but sent to players as part of the server param message. * Fixed bug where the recover_init server parameter was not set, not used, but sent to players as part of the server param message. * Added automatic penalty mode. First of all two different server parameters have been added that specify how many halfs are played: nr_normal_halfs (default=2) - number of halfs that are always fully played nr_max_extra_halfs - number of extra halfs when score is a draw golden goal rule applies in these halfs If no goals are scored and the server parameter penalty_shootouts is true, the automatic penalty mode is started. New play modes, messages and server parameters have been introduced: New PlayModes: PM_PenaltySetup_Left/Right (message: penalty_setup_l/r) PM_PenaltyReady_Left/Right (message: penalty_ready_l/r) PM_PenaltyTaken_Left/Right (message: penalty_taken_l/r) PM_PenaltyMiss_Left/Right (message: penalty_miss_l/r) PM_PenaltyScore_Left/Right (message: penalty_score_l/r) Messages: penalty_onfield_l/r penalty_foul_l/r penalty_winner_l/r penalty_draw Server parameters pen_before_setup_wait pen_setup_wait pen_ready_wait pen_taken_wait pen_nr_kicks pen_max_extra_kicks pen_dist_x pen_max_goalie_dist_x pen_allow_mult_kicks pen_random_winner The procedure is as follows 1. The referee announces on which side the penalties will be taken using the message (penalty_onfield_l/r). 2. The ref moves the ball to the penalty mark, which is on a distance of pen_dist_x from the goal. 3. The ref chooses a team to start at random and announces it (penalty_setup_l/r). 4. The referee then waits pen_setup_wait cycles and then checks whether the players are moved according to the following rules: - the defending goalie must move to within goalie_pen_line_dist meter of the goal line and between the posts - the other goalie must move behind the goal line and outside the penalty area line (the only exception is when the goalie takes the penalty) - the defending players and the teammates of the player must move within the center circle. - one of the players of the team that takes the penalty has to move within 2 meters of the position of the ball. One player is not allowed to be the penalty taker again before all eleven players (including the goalie!) have taken a penalty. If after pen_setup_wait cycles one or both teams do not obey the above rules the penalty is over. In case the attacking team makes a mistake, it is counted as a miss, otherwise as a score. If both teams obey the rules, the mode changes to PM_PenaltyReady_Left/Right 5. The attacker then has pen_ready_wait cycles to take the first kick. If one of the rules of 4 is not obeyed during these cycles or the time has elapsed, the penalty is over and is counted as a foul for that team. After this first kick, the play mode changes to PM_PenaltyTaken_Left/Right.. 6. Depending on the server paramater pen_allow_mult_kicks the attacker is now allowed to kick the ball again or not. When the ball is catched or passed the goalline within pen_taken_wait cycles, it is either called a miss or a score (depending where the ball crossed the goalline) immediately. When pen_taken_wait cycles have elapsed without a catch or the ball passing the goalline, it is also called a miss. In case of a miss the play mode changes to PM_PenaltyMiss_Left/Right, otherwise to PM_PenaltyScore_Left/Right. 7. Now it is checked whether one of the teams has won. One of the two teams has won when. - pen_nr_kicks penalties have been played and one team has scored more goals than the other - less than pen_nr_kicks have been played but one of the teams can never get to the score of the other team within pen_nr_kicks - it was a draw after pen_nr_kicks but after an even number of extra penalties sessions (less than pen_max_extra_kicks) one team has scored more goals In the case of a win the message pen_winner_l/r is communicated and the playmode changes to PM_TimeOver. Otherwise when pen_nr_kicks + pen_max_extra_kicks have been played, the game is a draw. Depending on the parameter pen_random_winner the server picks a random winner or not. In the latter case the message pen_draw is communicated. In all other situations, and no team has won yet, the referee goes back to 2 after pen_before_setup_wait cycles. * Changed file format of log files and game logs because of possible automated penalties after a match. The new format is as follows: {date}-{team_l_info}-vs-{team_r_info}.rc[gl] where {team_[lr]_info} looks as follows: {team}_{score}[_{pen_score}[w]] with team: name of the team score: goals scored by this team (excluding penalty goals) pen_score: scored penalty of this team (optional) w: optional winner indication when penalties were also a draw and this team was the random winner (pen_random_winner: on) Possible examples are - normal game without penalties 200303180158-MRB2003_1-vs-UvA_Trilearn_2.rg - with penalties 200303180158-MRB2003_1_4-vs-UvA_Trilearn_1_5.rg - with penalties, pen_nr_kicks + pen_max_extra_kicks didn't bring a winner and no winner was picked randomly (pen_random_winnner: off) 200303180158-MRB2003_1_7-vs-UvA_Trilearn_1_7.rg - penalties was also a draw and winner (Trilearn) was picked randomly 200303180158-MRB2003_1_4-vs-UvA_Trilearn_1_4w.rg[9.2.4] * Fixed defect that would incorrectly award an indirect free kick to the right team after a catch fault by the right team. An indirect free kick to the left team is now awarded. * Fixed defect that would cause compilation to fail with gcc3.2[9.2.3] * Fixed defect where the server would not send version 9 parameters to version 9 coaches.[9.2.2] * Fixed defect where the server would send "(ok move)" to the offline coach after it issued a move command, even if there was no such object that could be moved. Now the server sends "(error illegal_object_form)". * Clients can now connect specifying version 9 as the protocol version. This simply adds support for the new server parameters that have been introduced.[9.2.1] * Offsides are now no longer possible from a kick-in, goal-kick or corner-kick. This is in compliance with FIFA regualtions. * A new limitation has been added to the random player types (hetero players) which prevents players from having a maximum speed above the default player and consume less stamina at maximum speed than the default player.[9.2.0] * Configuration now fails if the SED environment variable is not set. Libtool needs this to be set to function correctly * Goal posts have now been added. They are circular with a radius of 6cm and they are located at: x = +- (FIELD_LENGTH*0.5 - 6cm) y = +- (GOAL_WIDTH*0.5 + 6cm) The goal posts have different collision dynamics than other objects. An object collides with a post if it's path gets within object.size + 6cm of the center of the post. An object that collides with the post bounces off elastically. * The dynamics of the goalie catch have now changed. If the goalie successfully catches a ball it is moved adjacent to and facing the ball and both the goalie and ball have their velocities set to zero. When the goalie moves, dashes or turns while the ball is caught, the ball remains adjacent to and directly in front of the goalie. * The goalie can now issue catch commands at any location. If the catch is successful, and the ball is outside of the penalty area or if the goalie moves the ball outside of the penalty area and it's still in the field, an indirect free kick is awarded to the opposing team at the ball's current location. If a caught ball is moved over the goal line but not inside the goal, a corner kick is awarded. If a caught ball is moved into the goal, a goal is awarded. * Checking for goals, out of bounds and within penalty area no complies with FIFA regulations. For a goal to be scored the ball must be totally within the goal - i.e. |ball.x| > FIELD_LENGTH*0.5 + ball_radius Similarly the ball must be completely out of the pitch before it is considered out - i.e |ball.x| > FIELD_LENGTH*0.5 + ball_radius || |ball.y| > FIELD_WIDTH*0.5 + ball_radius Lastly the ball is within the penalty area (and thus catchable) if the ball is at least partially within the penalty area - i.e.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -