⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 news

📁 在LINUX下运行的仿真机器人服务器源代码
💻
📖 第 1 页 / 共 5 页
字号:
  * Defualt for the offide area is now 2.5  * Proper goal kicks (aka LAW 16) is now off by default.  * Fixed rcssclient compilation problem when libz is not detected on  the system.  * Replay parameter in no longer available.  This was for some pretty  old code to replay the games.  This is done by rcsslogplayer instead  (and has been for a long while).  * Corrected an old defect that would allow players to dash in before  kick off and have the acceleration accumulate until the kick off.  Thanks go to Michael Gollin for reporting this bug and how to  correct it.  [rel_6]  * The team graphic protocol has been changed to make it easier to  detect and recover from lost messages.  The new format requires the  256x64 image to be broken up into 8x8 tiles (to make sure it will  fit into the message to the monitors) and has the form  (team_graphic (<X> <Y> "<XPM line>" ... "<XPM line>"))  Where X and Y are the co-ordinates of the 8x8 tile in the complete  256x64 image, starting at 0 and ranging upto 31 and 7 respectively.  Each XPM line is a line from the 8x8 xpm tile.  The server responds with  (ok team_graphic <X> <Y>)  The server then sends  (team_graphic_{l|r} (<X> <Y> "<XPM line>" ... "<XPM line>"))  to each monitor via the message board.  * Fixed defaut values for new parameters in server.conf.  * Fixed defect which would not allow online coaches to substitute a  player for the same player type if there was already the maximum of  that player type on the field.  * Tackle power is no longer reduced by the probablility of the    tackle.  * Substitutions are now explicitly recorded in the log-files. The  message board is now used to record player substitutions in the game  log and send the data to the monitors in the form  (change_player_type {l|r} <unum> <player_type>)  * Fixed problem parsing parameters when compiled with gcc 3.x  [rel_5]  * Parameters have been added to enable and disable free kick faults  and back passes.  They are  free_kick_faults back_passes  and they are both enabled by default.  * Parameters have been added for the enforcement of proper goal  kicks.  They are  proper_goal_kicks stopped_ball_vel max_goal_kicks  and they have default values of on, 0.01 and 3 respectively.  * The server will now allow online coaches to send team_graphic  commands before kick off.  The graphic must be a 256 x 64 XPM and  each team_graphic command must contain just one line of the XPM.  The command has the form  (team_graphic "<line>")  and the server will respond with  (ok team_graphic)  for each line and  (ok team_graphic_done)  when the image is complete.  As each line is received it is sent to the monitors on the message  board in the form    team_graphic_{l|r} "<line>"  At this stage the monitor must be connected at the time the lines  are sent.	* Fixed defect which dereferenced Stadium::M_caught_ball when      NULL.  * Fixed defect in kick faults where a kick fault was not called if  the player taking the free kick, kicked the ball multiple times  before dashing and then kicking.  * Fixed defect in server params where visible_angle was reported in  radians instead of degrees.  * Corrected defect where the ball going out of bounds from a goal  kick would result in a drop ball on the side line.  [rel_4]  * Server param messages now contain tackle parameters of version 8+  clients.  The way the message is generated now means that the order  of items has changed and derived values are not sent.  All string  values are now quoted to ease paring should they contain brakets.  * Fixed defect where collisions were modelled between the goalie and  the ball when the ball was caught by the goalie.  * The it is now required that the ball is kicked directly into play  from the goal kick in compliance with FIFA law 16.  If the ball  stops or another player kicks the ball before it leaves the penalty  area, the kick is re-taken. If the player taking the goal kick  cannot manage to kick the ball directly into play after 3 attempts,  a free kick is awarded to the opposing team in the nearest penalty  corner.  IMO the player should also receive a yellow card for  incompetence and time wasting, but we don't have yellow cards yet.  * Added a tackle_power_rate(0.027), which was previously missing and  resulted in all but the smallest of tackles producing a maximum ball  speed.  The effective power is now reduced by the probability of the  tackle succeeding.  This is done by simply multiplying the  probability of success with power requested.  * Fixed defect that allowed players to kick and tackle after a free  kick or back pass infringement but before the free kick was awarded.  * Fixed defect that allowed players to be close to the ball during  an opponents free kick.  * Fixed 1 cycle delay in play mode change after a free kick was    taken.  * Removed audio debugging messages  * Fixed defect in backpasses where a kick from a player on team A  followed by a freekick and a catch by the goalie would be  incorrectly called a back pass.	* Fixed bug in the reported pointto directions.  Previously they  were incorrectly adjusted by the players orientation.  Thanks to  Michael Gollin for pointing out the bug and providing the  correction.  * Fixed bug in the bracket counting of quoted say messages.  Messages such as (say "Test)") are now parsed correctly.  * Fixed bug in new Vectors that are uses in pointto.  The setHead()  method would transpose the X and Y coordinates.  Thanks to Michael  Gollin for pointing out the bug and providing the correction.  [rel_3]  * Added rules to CLang.  Clients can now define rules, which can be  turned on and off and deleted later on.  Rules are can be defined as  follows  (define DEFS)  DEFS : // same as old defs       | (definerule VAR {model|direc} RULE)  VAR : [abe-oqrt-zA-Z_]+[a-zA-Z0-9_]*  RULE : (CONDITION DIRECTIVE_LIST)       | (CONDITION RULE_LIST)       | ID_LIST  RULE_LIST : RULE_LIST RULE | RULE  ID_LIST : all | VAR | (ID_LIST2)  ID_LIST2 : ID_LIST2 VAR | VAR  CONDITION :  // unchanged  DIRECTIVE_LIST : // unchanged  For example the following messages are valid  (define (definerule MyRule12345 model ((true) "dostuff")))  (define (definerule MyRule2 direc ((true) "doStuff" "andOtherStuff")))  (define (definerule MyRule3 model ((true) "dostuff"))          (definerule MyRule3 model ((true) "doStuff" "andOtherStuff")))  (define (definerule MyRule4 direc MyRule2))  (define (definerule MyRule4 direc (MyRule2 MyRule3)))  (define (definerule MyRule4 direc ((true) MyRule2)))  (define (definerule MyRule4 direc ((true) (MyRule2 MyRule3))))  (define (definerule MyRule4 direc all))  (define (definerule MyRule4 direc ((true) all)))  Rules may be deleted at a later date by using the delete message, which has  the form  (delete IDLIST)  For example the following messages are valid  (delete all)  (delete MyRule12345)  (delete (foo bar))    Rules are then activated or deactivate using a rule message, which has the  form  (rule ACTIVATION_LIST)  ACTIVATION_LIST : ACTIVATION_LIST ACTIVATION_ELEM | ACTIVATION_ELEM  ACTIVATION_ELEM : ({on|off} ID_LIST)  For example the following message is valid  (rule (off all) (on (foo bar)) (off MyRule12345))  Each activation element should be applied in the order it is listed.  For the  above example, all the rules should be turned off, then the rules 'foo'   and 'bar' should be turned on and finally 'MyRule12345' should be turned off.  [rel_2]  * Added new trade-off between dash_power_rate and stamina_inc_max. The  old trade-offs between dash_power_rate vs. player_size and  stamina_inc_max vs. player_speed_max are switched off now by  default. V8 clients get additional info regarding the new trade-off.  player_speed_max is 1.2 now for all player types by default.  * Players kicking the ball to themselves after a free kick is no longer  allowed.  Players may kick the ball several times so long as they do not dash  in between any of the kicks.  Once another player kicks the ball, the free  kick taker may proceed to the ball as normal.  If a player does kick the ball  to themselves after a free kick, a free kick is awarded to the opposing team  at the point that the second kick occurred.  When this occurs the play mode  changes to free_kick_fault_[lr], where the l or r is the side of the  offending player.  After AFTER_FREE_KICK_FAULT_WAIT(30) cycles the playmode  changes to free_kick_[lr], where l or r is the opposite side of the offending  player.  * Fixed bug in the setting of the team side of a ball owner condition in  CLang.  * Back passes are no longer allowed.  The server defines a back pass as when  a player kicks the ball and it is caught by the goalie of the same team,  without interference of a player from the other team.  If a back pass does  occur, a free kick is awarded to the other teams in the closest corner of  the penalty box. When this occurs the play mode changes to back_pass_[lr],  where the l or r is the side of the offending goalie.  After  AFTER_BACK_PASS_WAIT(30) cycles the playmode changes to free_kick_[lr],  where l or r is the opposite side of the offending goalie.  A pass from a player on team X bouncing of team Y player and then being  caught by to team X goalie is *not* a back pass. A pass from a player on  team X bouncing of an team Y player and then being caught by the team Y  goalie is *not* a back pass.    * Audio from players now has the form  (hear time direction TEAM [UNUM] "message")   (hear time TEAM [UNUM])  where TEAM is   opp | our  and the uniform number is only given for the player's own team (to simulate  recognition of team-mates' voices).  The first format is for the first message from each team in each cycle,  all other messages received that cycle have the second format.   * Players can now send say messages with the message enclosed in quotes.  For instance    (say "message")  It has the same effect as   (say message)  The only difference is that the later version must be followed by a null,  whereas the new version may be followed by other commands.  For instance  (say "message")(dash 100)  would be interpreted by the server as a say and a dash command, but  (say message)(dash 100)  would be interpreted as a single say message only, and the data being said as  "message)(dash 100)"  * Fixed a line ordering problem experienced by old clients.  Some of these  clients rely on the order in which lines are presented (nearest first), so  now the server sorts lines into nearest first for pre v8 clients. V8 and  clients should not rely on the order of any of components of messages sent.  BTW code I wrote for clients I was working on exhibits this reliance on  ordering :)=  * Added support for CLang Freeform messages during certain times during  playon.  Coaches can send Freeform messages for freeform_send_period cycles  after every freeform_wait_period cycles.  Default values for  freeform_send_period and freeform_wait_period are 20 and 600 respectively.  For example, if the playmode changes to playon at cycle 420 and stays in  playon till the end of this example, the coaches can send freeform messages  between 1020 and 1040, 1620 and 1640, etc.   [rel_1]  * The CLang lib has changed and is not compatible with the previous version.  To reflect this the library version has changed from 0.0.0 to 1.0.0.  Some of  the classes still need a little work before I would say they are fully usable  in client code, but what is already there should make it a lot easier than  starting from scratch.  Just remember that the entire simulator is under  LGPL (except for rcssmonitor which is under GPL), so if you do use modified  server code in you clients, you *must* release these modifications when you  release your binary. Earlier and more frequent releases would be more than  welcome.  Hopefully this way we can start some sort of Standard RoboCup  Library (SRCLib).  * Added support for arithmetic on points within CLang messages.  Points can  now have the form  (<POINT_LIST>)    where POINT_LIST is  <POINT_LIST> <ARITH_OP> <POINT_LIST> | <POINT>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -