Hi. Is there a way to play this Mod in MP? Didn't find informations about it ...
Hm, Pitboss used to work a couple of versions ago. You're the first to report that. I don't know what changed; I'll try investigating, but TBH my understanding of it is rather limited.
Well, I know the last pitboss-related SVN commit was in 2018 and back then everything worked. I honestly can't tell when it stopped. Anyway, I can easily reproduce and test it on my side, so I may well catch and fix the culprit.
After a lot of testing going way back, I got instant OOS with Pitboss on all major versions, including those I knew were working before. It feels like there's something fundamentally wrong with it, maybe on OS level or something like that. It is the same on the exact revision that restored its functionality way back...![]()
That's sad but not entirely surprising to hear - given that I'm not very good at coding, I suspect a lot of the culprits are bits of my new code, as I wouldn't know how to code in an MP-friendly way.
<UnitInfo>
<Class>UNITCLASS_CATAPULT</Class>
<Type>UNIT_CATAPULT_ROME</Type>
<UniqueNames/>
<Special>NONE</Special>
<Capture>NONE</Capture>
<Combat>UNITCOMBAT_SIEGE</Combat>
<Domain>DOMAIN_LAND</Domain>
<DefaultUnitAI>UNITAI_ATTACK_CITY</DefaultUnitAI>
<Invisible>NONE</Invisible>
<SeeInvisible>NONE</SeeInvisible>
<Description>TXT_KEY_UNIT_CATAPULT_ROME</Description>
<Civilopedia>TXT_KEY_UNIT_CATAPULT_ROME_PEDIA</Civilopedia>
<Strategy>TXT_KEY_UNIT_CATAPULT_STRATEGY</Strategy>
<Advisor>ADVISOR_MILITARY</Advisor>
<bAnimal>0</bAnimal>
<bUniqueUnit>0</bUniqueUnit>
<bFood>0</bFood>
<bNoBadGoodies>0</bNoBadGoodies>
<bOnlyDefensive>0</bOnlyDefensive>
<bNoCapture>1</bNoCapture>
<bQuickCombat>0</bQuickCombat>
<bRivalTerritory>0</bRivalTerritory>
<bMilitaryHappiness>1</bMilitaryHappiness>
<bMilitarySupport>1</bMilitarySupport>
<bMilitaryProduction>1</bMilitaryProduction>
<bPillage>1</bPillage>
<bSpy>0</bSpy>
<bSabotage>0</bSabotage>
<bDestroy>0</bDestroy>
<bStealPlans>0</bStealPlans>
<bInvestigate>0</bInvestigate>
<bCounterSpy>0</bCounterSpy>
<bFound>0</bFound>
<bGoldenAge>0</bGoldenAge>
<bInvisible>0</bInvisible>
<bFirstStrikeImmune>0</bFirstStrikeImmune>
<bNoDefensiveBonus>1</bNoDefensiveBonus>
<bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
<bCanMoveImpassable>0</bCanMoveImpassable>
<bCanMoveAllTerrain>0</bCanMoveAllTerrain>
<bFlatMovementCost>0</bFlatMovementCost>
<bIgnoreTerrainCost>0</bIgnoreTerrainCost>
<bNoTransport>0</bNoTransport>
<bNukeImmune>0</bNukeImmune>
<bPrereqBonuses>0</bPrereqBonuses>
<bPrereqReligion>0</bPrereqReligion>
<bMechanized>1</bMechanized>
<bSuicide>0</bSuicide>
<bHiddenNationality>0</bHiddenNationality>
<bAlwaysHostile>0</bAlwaysHostile>
<UnitClassUpgrades>
<UnitClassUpgrade>
<UnitClassUpgradeType>UNITCLASS_TREBUCHET</UnitClassUpgradeType>
<bUnitClassUpgrade>1</bUnitClassUpgrade>
</UnitClassUpgrade>
</UnitClassUpgrades>
<UnitClassTargets/>
<UnitCombatTargets/>
<UnitClassDefenders/>
<UnitCombatDefenders/>
<FlankingStrikes/>
<UnitAIs>
<UnitAI>
<UnitAIType>UNITAI_ATTACK_CITY</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
<UnitAI>
<UnitAIType>UNITAI_RESERVE</UnitAIType>
<bUnitAI>1</bUnitAI>
</UnitAI>
</UnitAIs>
<NotUnitAIs/>
<Builds/>
<ReligionSpreads/>
<CorporationSpreads/>
<GreatPeoples/>
<Buildings/>
<ForceBuildings/>
<HolyCity>NONE</HolyCity>
<ReligionType>NONE</ReligionType>
<StateReligion>NONE</StateReligion>
<PrereqReligion>NONE</PrereqReligion>
<PrereqCorporation>NONE</PrereqCorporation>
<PrereqCivic>NONE</PrereqCivic>
<PrereqAndBuildings/>
<PrereqOrBuildings/>
<PrereqTechs>
<TechType>TECH_SIEGECRAFT</TechType>
</PrereqTechs>
<PrereqAndBonuses/>
<PrereqOrBonuses/>
<ProductionTraits/>
<Flavors/>
<iAIWeight>20</iAIWeight>
<iCost>90</iCost>
<iHurryCostModifier>0</iHurryCostModifier>
<iAdvancedStartCost>100</iAdvancedStartCost>
<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
<iMinAreaSize>-1</iMinAreaSize>
<iMoves>1</iMoves>
<bNoRevealMap>0</bNoRevealMap>
<iAirRange>1</iAirRange>
<iAirUnitCap>0</iAirUnitCap>
<iDropRange>0</iDropRange>
<iNukeRange>-1</iNukeRange>
<iWorkRate>0</iWorkRate>
<iBaseDiscover>0</iBaseDiscover>
<iDiscoverMultiplier>0</iDiscoverMultiplier>
<iBaseHurry>0</iBaseHurry>
<iHurryMultiplier>0</iHurryMultiplier>
<iBaseTrade>0</iBaseTrade>
<iTradeMultiplier>0</iTradeMultiplier>
<iGreatWorkCulture>0</iGreatWorkCulture>
<iEspionagePoints>0</iEspionagePoints>
<TerrainImpassables/>
<FeatureImpassables/>
<FeatureDamageImmunities/>
<TerrainPassableTechs/>
<FeaturePassableTechs/>
<iCombat>4</iCombat>
<iCombatLimit>10</iCombatLimit>
<iAirCombat>4</iAirCombat>
<iAirCombatLimit>10</iAirCombatLimit>
<iXPValueAttack>4</iXPValueAttack>
<iXPValueDefense>2</iXPValueDefense>
<iFirstStrikes>0</iFirstStrikes>
<iChanceFirstStrikes>0</iChanceFirstStrikes>
<iInterceptionProbability>0</iInterceptionProbability>
<iEvasionProbability>0</iEvasionProbability>
<iWithdrawalProb>0</iWithdrawalProb>
<iCollateralDamage>40</iCollateralDamage>
<iCollateralDamageLimit>10</iCollateralDamageLimit>
<iCollateralDamageMaxUnits>1</iCollateralDamageMaxUnits>
<iCityAttack>30</iCityAttack>
<iCityDefense>30</iCityDefense>
<iAnimalCombat>0</iAnimalCombat>
<iHillsAttack>0</iHillsAttack>
<iHillsDefense>0</iHillsDefense>
<TerrainNatives/>
<FeatureNatives/>
<TerrainAttacks/>
<TerrainDefenses/>
<FeatureAttacks/>
<FeatureDefenses/>
<UnitClassAttackMods/>
<UnitClassDefenseMods/>
<UnitCombatAttackMods/>
<UnitCombatDefenseMods/>
<UnitCombatMods>
<UnitCombatMod>
<UnitCombatType>UNITCOMBAT_MOUNTED_LIGHT</UnitCombatType>
<iUnitCombatMod>-35</iUnitCombatMod>
</UnitCombatMod>
<UnitCombatMod>
<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
<iUnitCombatMod>-25</iUnitCombatMod>
</UnitCombatMod>
<UnitCombatMod>
<UnitCombatType>UNITCOMBAT_ARMOR</UnitCombatType>
<iUnitCombatMod>25</iUnitCombatMod>
</UnitCombatMod>
<UnitCombatMod>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
<iUnitCombatMod>50</iUnitCombatMod>
</UnitCombatMod>
</UnitCombatMods>
<UnitCombatCollateralImmunes/>
<DomainMods/>
<BonusProductionModifiers>
<BonusProductionModifier>
<BonusType>BONUS_TIMBER</BonusType>
<iProductonModifier>25</iProductonModifier>
</BonusProductionModifier>
</BonusProductionModifiers>
<iBombRate>0</iBombRate>
<iBombardRate>6</iBombardRate>
<SpecialCargo>NONE</SpecialCargo>
<DomainCargo>NONE</DomainCargo>
<iCargo>0</iCargo>
<iConscription>0</iConscription>
<iCultureGarrison>4</iCultureGarrison>
<iExtraCost>2</iExtraCost>
<iAsset>2</iAsset>
<iPower>3</iPower>
<UnitMeshGroups>
<iGroupSize>2</iGroupSize>
<fMaxSpeed>1.25</fMaxSpeed>
<fPadTime>1</fPadTime>
<iMeleeWaveSize>2</iMeleeWaveSize>
<iRangedWaveSize>2</iRangedWaveSize>
<UnitMeshGroup>
<iRequired>1</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_CATAPULT_ROME</EarlyArtDefineTag>
</UnitMeshGroup>
<UnitMeshGroup>
<iRequired>1</iRequired>
<EarlyArtDefineTag>ART_DEF_UNIT_CATAPULT_ROME</EarlyArtDefineTag>
</UnitMeshGroup>
</UnitMeshGroups>
<FormationType>FORMATION_TYPE_MACHINE</FormationType>
<HotKey/>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<iHotKeyPriority>0</iHotKeyPriority>
<FreePromotions/>
<LeaderPromotion>NONE</LeaderPromotion>
<iLeaderExperience>0</iLeaderExperience>
</UnitInfo>
That sounds really surprising for me, as yesterday I went over a number of SVN revisions, including matching 3.61 and other release versions, and tried hosting myself via Pitboss - and got OOS turn 1 on every revision I tried. So to hear that Pitboss worked at least for some time is quite surprising for me, as it didn't on my side.With the latest revision of RI, 3.61, pitboss looks like it's working for 50 turns or so (rollercoaster speed, if it matters, which I'm not sure), but after that it starts displaying different scores on the player pc and on the pitboss server. It doesn't go OOS though: it might happen way later during the game, which implies that when you reload you get the game that the pitboss think it's running, not what was actually running on the player's pc (hence different diplo situations, different cities and so on, hence totally unplayable). To tell the truth I think I only tested with Simultaneous Turns option, but testing requires time. It might also depend on a single option to tell the truth.
As Aspiring said, we played for a while, 7-8 players. We started a pitboss game, then switched to a Direct IP and the started having OOS all the time. It might be because we switched from Pitboss to Direct IP, although I tested it on my LAN before, and it worked for quite a while, or it might be because a player left the game and we let AI control his civ for a while before assigning it to a new player. Too many variables. Moreover, I never checked the scores in that game, if they were matching on my pc and the pitboss server, as I wasn't aware of this problem; so maybe we were OOS from turn 50 but noticed only way later.
Unfortunately, testing MP is not easy. It looks like Direct IP works pretty good, but I'd really like to make it work with Pitboss.
I don't understand what kind of help you want.Hi, could someone send me a copy of the code for the siege engine that uses ranged attacks for AI? I think I may have over-modified my version, and now the AI doesn't use the ranged attack at all, despite trying several combinations. The only thing the AI does is a standard attack with battering rams, limited to the damage dealt. I also accidentally left that option on catapults, so the AI uses it for attacks instead of the ranged attack.