View topic - Patch 0.79.1.1 out here



All times are UTC + 1 hour


Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Patch 0.79.1.1 out here
PostPosted: 14 Jun 2009, 18:02 
Spring Developer

Joined: 24 Jun 2007, 07:34
Location: 50┬░ 56' N, 11┬░ 35' O
Not much to say here, just the changelog
  • fix microlags and increased CPU usage for dedicated server
  • fix the game ending when playing with AIs
  • various AI-interface and AI-related fixes
  • fallback to Lua for unhandled actions
  • fixed exploit where spectator could make Team 0 resign
  • fix certain soundeffects

and the download links
The installer
The sources
The executable (only the exe)

If you only play online, you can use the executable, rename it to spring.exe and overwrite the old one. If you play against AI, you should reinstall.
Autohosts should be upgraded ASAP.


Top
 Offline Profile  
 
PostPosted: 14 Jun 2009, 18:10 
Moderator
User avatar

Joined: 26 Oct 2007, 15:21
Thanks, these were very much needed!


Top
 Offline Profile  
 
PostPosted: 14 Jun 2009, 22:17 
Kernel Panic Co-Developer
User avatar

Joined: 16 Nov 2004, 13:08
You changed start script syntax again. Grrr.

That script.txt is an interface. Interfacing protocols shouldn't keep changing for no good reason. And when you change it, keep retro-compatibility.


Last edited by zwzsg on 14 Jun 2009, 22:22, edited 1 time in total.

Top
 Offline Profile  
 
PostPosted: 14 Jun 2009, 22:21 
Spring Developer

Joined: 24 Jun 2007, 07:34
Location: 50┬░ 56' N, 11┬░ 35' O
zwzsg wrote:
You changed start script syntax again. Grrr.

That script.txt is an interface. Interfacing protocols shouldn't keep changing for no good reason.

Lolwut?


Top
 Offline Profile  
 
PostPosted: 14 Jun 2009, 22:23 
Kernel Panic Co-Developer
User avatar

Joined: 16 Nov 2004, 13:08
A startscript that worked fine in 0.79.1.0 now makes all teams start in the same corner.

Also, both SpringLobby and TASClient 0.48 refuse to let me watch AI battle, since it gets stuck on "choose pos" even though I used fixed or random.


Top
 Offline Profile  
 
PostPosted: 14 Jun 2009, 22:36 
Spring Developer

Joined: 24 Jun 2007, 07:34
Location: 50┬░ 56' N, 11┬░ 35' O
You must be doing somethign completely wrong, as that part of the code wasn't even touched. But I'm sure I can track this down using my telepathic abilities to see how your script looks like and what is wrong with it.


Top
 Offline Profile  
 
PostPosted: 14 Jun 2009, 22:49 
Kernel Panic Co-Developer
User avatar

Joined: 16 Nov 2004, 13:08
Since you make and newpost new release, I assume you know a bit about the changelog.

Auswaschbar wrote:
You must be doing somethign completely wrong, as that part of the code wasn't even touched.
That part of the code was touched, denial is not an acceptable answer. And I'm not the one doing something completly wrong, since it is broken even when I'm not using my stuff but both official lobbies.




Following script, generated by my own Kernel_Panic_3.X_Launcher.exe:
- Works in 0.79.1.0
- Does not work in 0.79.1.1: All AI spawns in the top left corner instead of their proper startpos.

Code:
// To run this script, drag and drop over Spring.exe
//
// K.P.L. (Kernel Panic Launcher) Generated Script
// Very Hard: 1v3 - Player is n┬░1 in [0..3] and good (Network)

[GAME]
{
   GameType=Kernel_Panic_3.5.sd7;
   Mapname=Marble_Madness_Map.smf;

   [MODOPTIONS]
   {
      // KP specific:
      nowalls=1;// Because the AI can't handle them
      nospecials=0;// Set to make it simpler
      ons=4;// Shielded gamemode, 0 for disabled, 2 for weak, 4 for ultra
      sos=0;// Initial amount, 0 for disabled
      colorwars=0;// Time in minutes before doom, 0 for disabled

      // Generic, but still applying to KP:
      GameMode=1;
        // 0 for "Kill everything!"
        // 1 for "Kill all factories!"
        // 2 for "Kill the Kernel!"
      ghostedbuildings=1;
      fixedallies=0;
      MaxUnits=512;
      MinSpeed=0.1;
      MaxSpeed=10;

      // Irrelevant for KP:
      StartMetal=1024;
      StartEnergy=1024;
   }

   HostIP=localhost;
   HostPort=1377;
   IsHost=1;

   StartPosType=0;// 0 for fixed, 1 for random, 2 for chosen
   MyPlayerNum=0;
   MyPlayerName=Single_Player;
   NumPlayers=1;
   NumUsers=4;
   NumTeams=4;
   NumAllyTeams=2;

   // List of human controlled players:
   [PLAYER0]
   {
      name=Single_Player;
      Team=1;
      Spectator=0;
   }

   // List of AI controlled players:
   [AI0]
   {
      Name=Enemy Bot;
      ShortName=Kernel Panic AI;
      //Version=?;
      Team=0;
      Host=0;// Number of the PLAYER hosting the AI
   }
   [AI2]
   {
      Name=Enemy Bot;
      ShortName=Kernel Panic AI;
      //Version=?;
      Team=2;
      Host=0;// Number of the PLAYER hosting the AI
   }
   [AI3]
   {
      Name=Enemy Bot;
      ShortName=Kernel Panic AI;
      //Version=?;
      Team=3;
      Host=0;// Number of the PLAYER hosting the AI
   }

   // List of "teams" (or "players" depending on terminology):
   [TEAM0]
   {
      TeamLeader=0;
      AllyTeam=1;
      Handicap=0;
      Side=Hacker;
      RGBColor=0.0000 0.7176 0.9882;
      AIDLL=Kernel Panic AI;
   }
   [TEAM1]
   {
      TeamLeader=0;
      AllyTeam=0;
      Handicap=0;
      Side=Network;
      RGBColor=0.9020 0.2314 0.0000;
   }
   [TEAM2]
   {
      TeamLeader=0;
      AllyTeam=1;
      Handicap=0;
      Side=Hacker;
      RGBColor=0.7961 0.0980 1.0000;
      AIDLL=Kernel Panic AI;
   }
   [TEAM3]
   {
      TeamLeader=0;
      AllyTeam=1;
      Handicap=0;
      Side=Hacker;
      RGBColor=0.2039 0.8784 0.0000;
      AIDLL=Kernel Panic AI;
   }

   // List of ally teams: This is for assymetrical alliances
   [ALLYTEAM0]
   {
      NumAllies=0;
   }
   [ALLYTEAM1]
   {
      NumAllies=0;
   }

   // List of restrictions
   NumRestrictions=0;
   [RESTRICT]
   {
   }
}














Following script, generated by SpringLobby 0.0.1.10475
- Works fine with Spring 0.79.1.0.
- Does not work under Spring 0.79.1.1: It awaits "choose pos", which never happens in AI battle.
Code:
[GAME]
{
   HostIP=localhost;
   HostPort=8452;
   IsHost=1;
   MyPlayerName=NoName;

   ModHash=166043544;
   MapHash=4236272102;
   Mapname=Data Cache L1.smf;
   GameType=Kernel Panic 3.5;

   startpostype=3;
   [mapoptions]
   {
   }
   [modoptions]
   {
      fixedallies=1;
      ghostedbuildings=1;
      nospecials=0;
      systemonly=0;
      colorwars=0;
      maxspeed=5;
      maxunits=1000;
      minspeed=0;
      sos=0;
      gamemode=1;
      metaltogeo=0;
      ons=0;
   }
   NumRestrictions=0;
   [RESTRICT]
   {
   }

   NumPlayers=1;
   NumUsers=3;

   [PLAYER2]
   {
      Name=NoName;
      CountryCode=;
      Spectator=0;
      Rank=0;
      IsFromDemo=0;
      Team=0;
   }
   [AI0]
   {
      Name=Bot1;
      ShortName=BaczekKPAI;
      Version=1.2;
      Team=1;
      Host=2;
      [Options]
      {
      }
   }
   [AI1]
   {
      Name=Bot2;
      ShortName=BaczekKPAI;
      Version=1.2;
      Team=2;
      Host=2;
      [Options]
      {
      }
   }

   [TEAM1]
   {
      TeamLeader=2;
      StartPosX=3872;
      StartPosZ=224;
      AllyTeam=1;
      RGBColor=0.941176 0.823529 0;
      Side=System;
      Handicap=0;
   }
   [TEAM2]
   {
      TeamLeader=2;
      StartPosX=224;
      StartPosZ=224;
      AllyTeam=2;
      RGBColor=0.501961 0.501961 0.501961;
      Side=System;
      Handicap=0;
   }
   [TEAM0]
   {
      TeamLeader=2;
      StartPosX=224;
      StartPosZ=2848;
      AllyTeam=0;
      RGBColor=1 1 0;
      Side=System;
      Handicap=0;
   }

   [ALLYTEAM1]
   {
      NumAllies=0;
   }
   [ALLYTEAM2]
   {
      NumAllies=0;
   }
   [ALLYTEAM0]
   {
      NumAllies=0;
   }
}




Following script, generated by TASClient 0.48 beta
- Works fine under 0.79.1.0
- Does not work under Spring 0.79.1.1: It awaits "choose pos", which never happens since I'm speccing AI battle. Using CTRL+ENTER make both AI spawn at 96,96 instead of their proper start pos.
Code:
[GAME]
{
   Mapname=Marble_Madness_Map.smf;
   Maphash=-71828748;
   [modoptions]
   {
      MaxUnits=1000;
      GameMode=2;
      maxspeed=5;
      minspeed=0;
      fixedallies=1;
      ghostedbuildings=1;
      metaltogeo=auto;
      ons=0;
      sos=0;
      colorwars=0;
      nospecials=0;
      systemonly=0;
   }
   StartPosType=1;
   GameType=Kernel Panic 3.5;
   ModHash=166043544;
   HostIP=localhost;
   HostPort=8452;
   MyPlayerNum=0;
   MyPlayerName=zwzsg;
   IsHost=-1;
   NumPlayers=1;
   [PLAYER0]
   {
      Name=zwzsg;
      countryCode=fr;
      Rank=4;
      Spectator=1;
   }
   [AI0]
   {
      Name=Bot;
      ShortName=Kernel Panic AI;
      Team=1;
      Host=0;
   }
   [AI1]
   {
      Name=Bot2;
      ShortName=Kernel Panic AI;
      Team=2;
      Host=0;
   }
   [TEAM1]
   {
      TeamLeader=0;
      AllyTeam=1;
      RgbColor=1 0 0 ;
      Side=Hacker;
      Handicap=0;
   }
   [TEAM2]
   {
      TeamLeader=0;
      AllyTeam=2;
      RgbColor=0.101960784313725 1 0 ;
      Side=Network;
      Handicap=0;
   }
   NumTeams=2;
   [ALLYTEAM1]
   {
      NumAllies=0;
   }
   [ALLYTEAM2]
   {
      NumAllies=0;
   }
   NumRestrictions=0;
}



If I'd allowed to interpret without devs insulting me, I would say that:
- StartPosType=1; is broken for AI (but not humans), it makes AI always spawn at 96,96
- When there are 0 human player, it waits for "choose pos" while it should not.


Note: When running Spring.exe directly, pick mod, map, and AI, the behavior is same between 0.79.1.0 and 0.79.1.1: I have a message "waiting for player, press Ctrl enter" (not "choose pos"), and when I do press Ctrl Enter, the AI spawn in a correct start pos.


Top
 Offline Profile  
 
PostPosted: 16 Jun 2009, 04:57 

Joined: 22 Jan 2009, 19:25
Hi,

Thanks for this new version ;)

But muss agre with zwzsg ....

With Springlobby (actual build from last night) the AI bots
spawn only in the left uper field of the map...

So ATM it is useless for Human-VS-AI play .....

And the problem with massive lags in the Game is still here.
Dont know is this engine or mod related.
It is only coming by BA or CA mod.
And both runs in the past (4-5 month) fine so i think it is mod related,
or the mods use a new function of the engine.

See the thread in bugs ....http://springrts.com/phpbb/viewtopic.php?f=11&t=18393

Regards
R-TEAM


Top
 Offline Profile  
 
PostPosted: 16 Jun 2009, 20:35 

Joined: 05 May 2009, 12:57
You are both right. I noticed the same problem with the debug builds I've been building for myself. It is because of the inclusion of NTAI in the build environment. NTAI comes with it's own modified copies of TdfParser.cpp, TdfParser.h, and tdf_grammar.hpp in /AI/Skirmish/NTai/AI/NTai/Helpers/. After renaming those files with a NTAI_ prefix and changed the ifndefs as well, StartPosX=x; & StartPosZ=z; work as before to load AI bots in their proper location.


NTai's files in /AI/Skirmish/NTai/AI/NTai/Helpers/ :

TdfParser.h -> NTAI_TdfParser.h
Code:
#ifndef NTAI_TDFPARSER_H_INCLUDED
#define NTAI_TDFPARSER_H_INCLUDED


tdf_grammar.hpp -> NTAI_tdf_grammar.hpp
Code:
#ifndef NTAI_TDF_GRAMMAR_HPP_INCLUDED
#define NTAI_TDF_GRAMMAR_HPP_INCLUDED


TdfParser.cpp -> NTAI_TdfParser.cpp
Code:
#include "NTAI_tdf_grammar.hpp"



NTai's file in /AI/Skirmish/NTai/AI/NTai/Core/ :
include.h
Code:
#include "../Helpers/NTAI_TdfParser.h"                  // Parses TDF files



Also, in /rts/System/ :
TdfParser.h
Code:
#endif /* TDFPARSER_H */

The last line still says SUNPARSER_H in the github master.


Top
 Offline Profile  
 
PostPosted: 16 Jun 2009, 23:00 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
Societal, could you please make a git commit for it? or at least a diff file?
i fear i would mix up something if i'd follow your instructions ;-)


Top
 Offline Profile  
 
PostPosted: 17 Jun 2009, 04:31 

Joined: 05 May 2009, 12:57
I'm new to git so I don't know why I'm having a problem connecting. I made a fork repository and the problem is the same with both. Any attempt to push gives me an error, "Putty Internal Error: Wrong Port Number".
ssh -v git@github.com tells me I'm connecting on port 22 and authenticating fine with the account I made there. I went into my router settings and added a port forwarding rule for SSH port 22 and that didn't help either. :?:

http://societaleclipse.net/CPP/diffs.7z
Those are the diffs for the files I made internal changes in.

Renamed these with NTAI_ prefix
/AI/Skirmish/NTai/AI/NTai/Helpers/
NTAI_TdfParser.h
NTAI_tdf_grammar.hpp
NTAI_TdfParser.cpp

/AI/Skirmish/NTai/AI/NTai/Core/
include.h

/rts/System/
TdfParser.h


Top
 Offline Profile  
 
PostPosted: 17 Jun 2009, 11:57 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
github has relatively good guides, it is not too difficult, if you follow them closely. you do NOT have to forward a port on your router for sure!

i included your patch.. i can't imagine this really helps though...
well if it would give problems, we still can remove it again (like the class TdfParser beeing defined 2 times or something).


Top
 Offline Profile  
 
PostPosted: 18 Jun 2009, 18:17 

Joined: 05 May 2009, 12:57
I don't have enough C++ knowledge or experience yet to say what is the best solution. NTAI_tdf_grammar.hpp is the same as the /rts/System/ counterpart except for one less include ( #include <list> ) and of course that everything else is wrapped inside namespace ntai {}, just like the other files. The TdfParser class is quite different from the /rts/System/ version though and merging them just for a single AI doesn't make sense to me (and is outside of my ability). It would be a lot of careful search and replace but NTai's TdfParser class could be renamed as the files and defines were.


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 01:44 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
Or things can respect their proper namespaces.

NTai uses the ntai namespace and conflicts with this are indicative of issues elsewhere

Eitherway there is no reason for this conflict to exist, other than flaws in the way either is being built. NTai given the necessary headers should build standalone. I don't appreciate my project being hemmed in to fix a build system that's not adequate. I sure hope youve changed my project files ( and if not reverted the changes youve made to my copy of TDF Parser )

*note: the above text is to be read in a hostile tone, I am not happy, not one bit*


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 08:41 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
i reverted the commit.
it really makes no sense...
Societal, you do know that Auswaschbar commited a fix for what you think this is a solution for?


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 09:04 
Spring Developer

Joined: 01 Jun 2005, 10:36
Location: The Netherlands
It's buildsystem failure yeah, it shouldn't add all AIs to include path of engine or whatever weird thing it's doing.


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 10:52 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
thats the point.. i am pretty sure it is not doing this.
the only possible problem could be, thta NTai fails, but as AF said, he uses a namespace, so not even that is possible..
my guess is that Societal tested Auswaschbars fix together with his changes, and assumed his changes fixed it.
sorry, no offence, is just what seems most likely to me.


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 12:14 
AI Coder
User avatar

Joined: 14 Sep 2004, 10:32
Location: Cookieland
I have a particular pet peeve of build systems not doing their job resulting in the code its building needing changing. Sure if tis a compile syntax error but if its perfectly fine then why change it, change the build system


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 13:43 
Spring Developer

Joined: 24 Jun 2007, 07:34
Location: 50┬░ 56' N, 11┬░ 35' O
hoijui, what fix are you talking about? Also, I read the tried like 5 times, and still didn't see where societal mentioned what his error is.


Top
 Offline Profile  
 
PostPosted: 19 Jun 2009, 15:12 
Spring Developer
User avatar

Joined: 22 Sep 2007, 08:51
AI positioning (AIs starting in the top left corner)


Top
 Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

Site layout created by Roflcopter et al.