Multiplayer testing

New daily report. Do not say we did not try. :)

Both have exactly the same installation, since Ryohazuki download my fully updated installation (with SVN) from Dropbox. No possibility of desynchronization by different files. We use the new dll that you have provided us. Multithreading disabled. Tested through Gamespy and Direct IP with Hamachi. Without antivirus or firewall that could cause problems.

Fractal Map. Noble difficulty, Blitz speed, size Large. Number of civilizations by default. Cache clean, new ini file. Bug options and game options by default. Types of Victory: Conquest. Simultaneous turns. Without Archers Bombardment this time, of course.

At first things looked better. We played until turn 9 without problems. The first OOS occurred on turn 9. The second in the turn 16. So far this game worked much better, as we had 7 desynchronizations in 18 turns during the previous test. But now comes the bad. We had desynchronizations in the turns 16, 17, 18, 19 and 20. We do not change the name to any unit. We do not we traded any units. We do not entered in the city screen, or any other screen. Sometimes, we simply pass turn, doing absolutely nothing, but equally, we had a desynchronization. No longer we continued playing this game, plus by desynchronizations, for we had things to do in real life.

The next game will test without the simultaneous turns. In past experiences with other mods that helped me improve somewhat the problem of desynchronizations.

And the next test will be forming a team of two players. This should help both pcs have the same info, as we'll see exactly what the other does. In previous experience with other mods that also has been quite useful.

Anyway we would like that you will tell us some idea of the options that you use for your multiplayer games. Although the reality is that it is impossible to play more simplest way, everything by default.

Any hints that can be happening? In your games you also have many desynchronizations early in the game, and then the desynchronizations decrease much over time?

Looks like your OOS was always caused by the same problem, I'm investigating. But I've never encoutered this particular OOS in any of my games so I suspect it depends on some option your using. Have you changed anything from default options under BUG options? In my games OOS were increasing as time goes on because mostly they're caused either by combat or trade so when you start your game usually there isn't much going on. I've played almost 100 turns without a single OOS from the start. I'll look at that particular OOS that keeps repeating in your game. Thank you for the moment.
 
No, we started a game all by default. we didnt change any option while setting the game, not even bug options, nothing.
 
No. As I said, we have reset all options. Absolutely everything is by default. Or so we think. The installation is completely new, without having played any game before. The cache has been deleted, deleted the ini file, and used a new one. I have checked everything several times, and I'm almost completely sure that absolutely everything is by default in both pcs.

We really want to play a game like yours. 30 desynchronizations in almost 500 turns is fantastic. But for now, we're not lucky. Something is wrong. :(
 
Is Dynamic Civ Names checked under BUG Options? I always use it, I guess it's turned on by default but there's something in the python code that might be causing an OOS. Can you see if some of your know civs (or your own) has changed names when those OOS started? Or maybe was either of you fighting?
 
45°38'N-13°47'E;13124062 said:
Is Dynamic Civ Names checked under BUG Options? I always use it, I guess it's turned on by default but there's something in the python code that might be causing an OOS. Can you see if some of your know civs (or your own) has changed names when those OOS started? Or maybe was either of you fighting?

I think that if, it is an option by default, if I remember correctly. In our next game we will check. And also will try to play without DynamicCivNames. If that's the problem, we would not mind playing without that option.

And no, we were not at war with any civ. In my case I had not even seen a barbarian, nor knew any civ. Well, I saw a bear from a distance, and I avoid the bear completely.

Thanks for the info!
 
I think that if, it is an option by default, if I remember correctly. In our next game we will check. And also will try to play without DynamicCivNames. If that's the problem, we would not mind playing without that option.

And no, we were not at war with any civ. In my case I had not even seen a barbarian, nor knew any civ. Well, I saw a bear from a distance, and I avoid the bear completely.

Thanks for the info!

No reason to play without Dynamic Civ Names, as I've said I always use it so that can't be the problem.
 
I'm still looking into OOS problems; there's definetely something wrong with Archer Bombardment. From your logs I've come up with an error in

Code:
bool CvUnitAI::AI_Abombard()
{
	PROFILE_FUNC();

	CvPlot* pLoopPlot;
	CvPlot* pBestPlot;
	CvUnit* pDefender;
	int iSearchRange;
	int iPotentialAttackers;
	int iValue;
	int iDamage;
	int iBestValue;
	int iDX, iDY;

	if(!canArcherBombard(plot()))
	{
		return false;
	}
	if (GC.getGameINLINE().getSorenRandNum(10, "[COLOR="Red"]Randomness[/COLOR]") < 5)
	{
		return false;
	}

I guess the part causing this OOS could be canArcherBombard in CvUnit.cpp

Code:
bool CvUnit::canArcherBombard(const CvPlot* pPlot) const
{
	if(!GC.isDCM_ARCHER_BOMBARD())
	{
		return false;
	}
	if (!(GC.getUnitInfo(getUnitType()).getUnitCombatType() == (UnitCombatTypes)1))
	{
		return false;
	}
	if (isMadeAttack())
	{
		return false;
	}
	if (isCargo())
	{
		return false;
	}
	return true;
}

From here, I guess the only part that could be responsible for an OOS is isMadeAttack which in turn is connected to setMadeAttack. But from here on I'm a bit lost. I suppose that somewhere in the code that last function is giving two different values on both pc because it could be used locally instead of globally.

You guys were using Archer Bombardment when you first tried MP, correct? I suppose you were not using Stack Attack, were you? If you were not using Stack Attack that rules out setMadeAttack entries in CvSelectionGroup.cpp leaving only 23 entries in CvUnit.cpp to check. Sounds easy but it's not.
I'm not actually prioritizing this OOS solution because Archer Bombardment is an option that can be turned off, so my advice for the moment is just to play without it.

Please bear with me if I explain everything with such detail, I'm also doing it to keep a record of my reasoning; and then you never know if someone else reading it can lend a hand. :)
 
Oh hell, there's another thing that I guess could be fundamental for playing in MP reducing OOS, but I've never thought about it because I use it by default but it's NOT a default option (so if you were playing mostly with default options, you probably haven't selected it): New Random Seed on Reload. This could explain some odd OOS I've seen in your games and that I've never encountered. Do you use New Random Seed on Reload in your game? If not, try it in the next games.

So far things to do to reduce OOS are:
1. Set the game to single-threading
2. Make sure you have same options in BUG and in Civilization.ini
3. Don't use Archer Bombardment
4. New Random Seed on Reload
5. Don't exchange units via diplomacy screen (but you can gift them moving them into your opponent's territory).

If I come up with something else, I'll let you know.
 
If im not wrong, we only used Archer Bombardment in the first game.
Ok, we will try next activating "new seed on reload". Hope we can try soon!
 
Is the Dll file included in the new revisions of the game? thanks.

Yes, latest revision is the right one with all necessary updates. I'm experimenting a bit with my own version but it's not stable and it doesn't have any new fix for MP.
 
Hey 45º, do you need some new specific test in multiplayer? and if the answer is yes, would someone try to play one with me?
 
Hey 45º, do you need some new specific test in multiplayer? and if the answer is yes, would someone try to play one with me?


I will be around this weekend. I am in the Eastern US timezone. I'd be happy to do multiplayer with whoever.
 
I will be around this weekend. I am in the Eastern US timezone. I'd be happy to do multiplayer with whoever.

I'd like to try, but we're still 6 hours apart. Not to mention I could need to interrupt the game for my baby's emergencies. :D I guess you're at gmt-4 and I'm at gmt+2; I suppose I could have a couple of hours starting saturday 9PM GMT or possibly on sunday afternoon but I can't be sure because of the baby.
Anyway if you want to try MP, be sure to set options as described in the first post. If you're going to play with me or someone else, having logging enabled might help in finding some OOS issues.
 
Maybe we can organize a RAND pitboss game for people on the forum with a two day limit in quick speed ?
 
Maybe we can organize a RAND pitboss game for people on the forum with a two day limit in quick speed ?

Unfortunately Pitboss doesn't work. I've fixed a couple of issues because it was crashing instantly, now it doesn't crash anymore but the game goes OOS immediately at the start and I haven't found a way to fix it. Every player goes OOS with the server although players are in sync between them.
 
Ok. OOS errors seems really THAT hard to fix.
 
I would like to be useful for this mod development. Noyyau showed me this mod and it's really incredible. I was used to LoR, and I only played it for the last 4 years or more. Vanilla BtS can't be played anymore after you experienced revolutions.

And now I see this mod with so many interesting features that must be played.

I've already tried a MP Game with a friend but the OOSs were happening too often.

Incorrectly by my standards I downloaded RoM-AND 2.0, not 2.1. I was trying to see what were the differences between both versions but I didn't find anywhere this piece of info.

Anyways I would like to offer my help in testing this mod. You just need to tell me what I must do. I can join some games you do for testing, my time zone is GMT-3. And I may give some info about games I do here with my friend, but I need to know how.

I loved the concept of most of the new features, and my aim with civ is reality, so the new marathon speed (2500 turns I guess) and the Gigantic size are better for this purpose. I hope most problems can be solved for all map size and speed options.

Congratulations for the mod!
 
I would like to be useful for this mod development. Noyyau showed me this mod and it's really incredible. I was used to LoR, and I only played it for the last 4 years or more. Vanilla BtS can't be played anymore after you experienced revolutions.

And now I see this mod with so many interesting features that must be played.

I've already tried a MP Game with a friend but the OOSs were happening too often.

Incorrectly by my standards I downloaded RoM-AND 2.0, not 2.1. I was trying to see what were the differences between both versions but I didn't find anywhere this piece of info.

Anyways I would like to offer my help in testing this mod. You just need to tell me what I must do. I can join some games you do for testing, my time zone is GMT-3. And I may give some info about games I do here with my friend, but I need to know how.

I loved the concept of most of the new features, and my aim with civ is reality, so the new marathon speed (2500 turns I guess) and the Gigantic size are better for this purpose. I hope most problems can be solved for all map size and speed options.

Congratulations for the mod!

Everything you need to know to test the game in MP is described in the first post of the thread. I suggest anyway that you use the latest revision as many bugs have been solved after 2.1. Current revision is 705.
 
Well, I would like to report back after some testing on MP.

We started at RoM-AND 2.0, and it was full of OOSs. Mostly every single turn it happened. We changed nothing from default installation.

Then we took the suggestion of moving to the SVN version 2.2 (we are at revision 705) and changed things according to the beginning of this thread. Not only in the game options, but the logging thing too.

So no archer bombard, new random seed on reload, single-threading, same options in BUG and .ini and we can't exchange units yet. We are playing both on Deity and our gameoptions are:
Perfect Mongoose, Gigantic, Marathon, Low sea level.
Most default options with require complete kills, barbarian world and ruthless AI.
I forgot to put starting AIs, but this only delayed the inevitable and made our game easier.

Now we are between 2000BC - 1000BC and not a single OOS happened since the beggining. Until ~2000BC there weren't any other civs, but now there are at least 5 beside us (and they snatched 2 wonders already).

We will keep playing this game and post its development, and I would like to congratulate you guys again, the mod is awesome! Keep up the good work :goodjob:
 
Top Bottom