Community Integrated Version Build 1 (Test & Bug Fix)

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

Anunnaki
Engineer
Engineer
Posts: 64
Joined: 16 Aug 2005 16:09
Location: Prague, Czech Republic

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Anunnaki »

When someone wish to try latest CIV1 build on mine dedicated server, you can download whole stand-alone game (with all necessary new graphics/sets and other files) from this adress (only temporally for few hours):

http://www.ahaportal.com/openttd.rar (for win32) CIV1r12918
http://www.ahaportal.com/openttd_old.rar (for win32) CIVr12898

Files (newGrf) included in RAR abowe, in other case you need tham to play on mine server:
Stations:
indstatrw.grf (industrial stations)
usstatsw.grf (city stations)
Towns:
ttrs3w.GRF (town replacement)
Vehicles:
4LVw.grf (long vehicles)
pb_av8w.grf (new planes)
pb_ukrs.grf (UK train set)

But desync persist there, time by time are clients kicked for desync.

I discovered, that when is someone deleting something in the city (buildings), oftly is kicked by desync in next few 1 to 5 seconds afther destroying buildng, time by time are kicked all clients at same momment. But when is someone deleting citys roads, the desync is olmoust every time ! So there must be problem, not track sharing or anything else. Desync come even (but not oftly, only time by time) when clients is not building anything too.

When someone need contact me, my MSN contact is anunnaki@ahaportal.com .

PS: Sorry for my bad english.

EDIT:
a) now the traffics lights works withouth CPU usage, speed is now ok
b) when are traffics lights turned OFF while is game running (that means no one can see them bud they are there builded beffore = they exist there already), you cant delete the citys crossroads anymore. You become message something like "You cannot destroy this buildnig...".
c) desync is practicaly every time when someone delete roads direct in or very close by citys centre. When one player destroy the road followed by few other building, other computers are seeing only the buildings destroyed, but not road, road is still there. Shortly afther that is client kicked by desync.
d) afther long game (3 days, daylight set on 15), the game breaks down with error message "CargoPacket: too many Cargo packets". When i load that to the previous build CIVr12898, all works normaly ...
e) in build for win32 is error, when you start new game, error message appears: like error in openttdw.grf file corrupted or missing.... THIS IS PROBLEM WITH BUILD !
Roujin
Tycoon
Tycoon
Posts: 1884
Joined: 08 Apr 2007 04:07

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Roujin »

Anunnaki wrote: EDIT:
a) now the traffics lights works withouth CPU usage, speed is now ok
b) when are traffics lights turned OFF while is game running (that means no one can see them bud they are there builded beffore = they exist there already), you cant delete the citys crossroads anymore. You become message something like "You cannot destroy this buildnig...".
c) desync is practicaly every time when someone delete roads direct in or very close by citys centre. When one player destroy the road followed by few other building, other computers are seeing only the buildings destroyed, but not road, road is still there. Shortly afther that is client kicked by desync.
[...]

Thank you for your feedback! Seems i haven't thought enough about the case TLs are turned OFF during play. I don't know if c) is related to my patch, but b) is definately my fault, I'm going to fix it now..
* @Belugas wonders what is worst... a mom or a wife...
<Lakie> Well, they do the same thing but the code is different.

______________
My patches
check my wiki page (sticky button) for a complete list

ImageImage
ImageImageImageImageImageImageImage
wleader
Engineer
Engineer
Posts: 123
Joined: 18 May 2007 09:04

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by wleader »

Alright, well I think Its time to start making some decisions regarding patches that introduce desyncs. The build seems to be working quite well for single player fun, but I do realize that multiplayer is a big part of OpenTTD.

With that in mind, the patches I am considering removing from this build because of their desync issues are Shared Infrastructure, Ingame Rivers and Traffic Lights. Do we want to make fixing these a group effort? Personally I have no idea how to debug a desync so my inclination is to remove them at let the original authors deal with the problem.

Have we found any bugs that are not desyncs that we can fix?
User avatar
Ammler
President
President
Posts: 953
Joined: 18 Jun 2006 18:18
Location: Switzerland
Contact:

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Ammler »

We played recently a patchpack on the coop dev server with those patches (TS, rivers) all in and it didn't desync, I also don't think Traffic patch is quilty, its somehow the combination of those patches.

So it wouldn't be fair, to exclude some patches because of that, maybe we have to accept that a IN can't be MP safe.

Sometimes we are lucky, it is, but...

My personally opinion makes a IN useless for me, if you can't use it in MP mode. I have also WWOTTDGD/2 in mind and therefor I am interested to have a stable build.

Greets
Ammler
PhilSophus
Chairman
Chairman
Posts: 776
Joined: 20 Jan 2007 12:08
Location: Germany

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by PhilSophus »

wleader wrote:Alright, well I think Its time to start making some decisions regarding patches that introduce desyncs. The build seems to be working quite well for single player fun, but I do realize that multiplayer is a big part of OpenTTD.

With that in mind, the patches I am considering removing from this build because of their desync issues are Shared Infrastructure, Ingame Rivers and Traffic Lights. Do we want to make fixing these a group effort? Personally I have no idea how to debug a desync so my inclination is to remove them at let the original authors deal with the problem.

Have we found any bugs that are not desyncs that we can fix?
One of the conditions for submitting a patch was "it should have a switch to turn it off". If the mentioned patches have this switch and desyncs are gone if the patch is included but turned off, why not let them in and state that they must be turned off for multiplayer? Thus, they can at least be used for single player.

Just in case you don't know it: There is a wiki page on desync debugging

Before starting a systematic chase, I suggest that every patch author checks his/her code for the following issues:
  • (local) variables used uninitialized
  • code that is considered implementation-defined or even undefined behavior by the C++ standard (remember we are using different compilers, operating systems and even processor architectures). So no dirty tricks that just work on some compilers by chance.
  • game state modified in GUI code instead of executing a command and changing the game state in the Cmd* function (how should the server know you clicked the button if no command is triggered)
  • passing arguments for commands via global variables (that includes passing pointers via command arguments)
  • not saving game state variables
Any other ideas? Anything that lets clients and server the freedom to calculate something in a different way/order or let them miss events leads to desyncs.
"The bigger the island of our knowledge, the longer the shore of our ignorance" - John A. Wheeler, Physicist, 1911-2008
Anunnaki
Engineer
Engineer
Posts: 64
Joined: 16 Aug 2005 16:09
Location: Prague, Czech Republic

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Anunnaki »

Agree, this is good idea, but i am not sure, that every patch maker add this feature to his patch on our request.

I am not developer and i am beginner in VB, advanced prof. in PHO, SQL, HTML, but i dont have knows about C++ and dompiling. Can someone from us, make few win32 builds, where would be only HALF of this patches integrated (we must start with important, like TRACKSHARIKNG, LOANSYSTEM, TOWN DISTANCE, and soo). We can start with small group of patches and when would be everything OK, we just add there 2-3 more ...and till end of week we found which one makes desync problems.

I have dedicated server, so i can start there new test version 24h/7d/365y no problem, and who wish, can test that in MP, but someone must make new build, i am not able to do that at this momment.

(In any case, when no one will do that or anything else, i am starting introducing with MS Visual C++ 2008 compiler and SVN program.)
User avatar
Gedemon
Traffic Manager
Traffic Manager
Posts: 150
Joined: 29 Apr 2004 21:53

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Gedemon »

Ammler wrote:We played recently a patchpack on the coop dev server with those patches (TS, rivers) all in and it didn't desync, I also don't think Traffic patch is quilty, its somehow the combination of those patches.
Can you post the patch setting you used then ?

I also think that all patch who can be turned on/off should be included, but it would be great to release the CIV with a MP safe default config.
Anunnaki
Engineer
Engineer
Posts: 64
Joined: 16 Aug 2005 16:09
Location: Prague, Czech Republic

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Anunnaki »

I am trying to make test build, with only few patches, to test it for desyn in MP.

Is there way, how to connect all - more patches in one step ?

I have few patches updated for last SVN r12935, so it is no problem to patch clean SVN trunk 12935 with any of updated patches. But there is little compicated to patch one to another (already patched trunk).

Is there any way to aply all patches in one time = in one step (when everyone is compatible with official r12935) ?

EDIT:
TO WLEADER:

CIV1_r12918.patch have many problems, have corrupted almoust all language files. Looks like export which you make was maded withouth UTF-8 coding. Can you make new export with correct language files changes ? Your patch file is coded in ASCI, and not in UTF-8 which is standard and required for correct patching. I discovered, that Torsion SVN create patches in wrong codepage format, in old ASCI codepage, instead new UTF-8. That means, other languages than actual codepage on your computer are premanently damaged/changed by wrong coding.

CIV1_r12918.zip have other problems. GRF files are incoret version, error message at start appears. It is necessary to change grf files with new one, which are created afther creating build 12918
User avatar
trainmaster611
Traffic Manager
Traffic Manager
Posts: 222
Joined: 21 Dec 2007 16:33

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by trainmaster611 »

Are you planning to update this past r12932 (which has the dynamic engine pooling in the trunk)?
Anunnaki
Engineer
Engineer
Posts: 64
Joined: 16 Aug 2005 16:09
Location: Prague, Czech Republic

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Anunnaki »

Long game time by time fall down with error message:

Reason: Assertion failed at e:\users\wleader\documents\visual studio 2005\projects\civ openttd\src\yapf\yapf_node_rail.hpp:194: KillFirstBit(ft.m_new_td_bits) == TRACKDIR_BIT_NONE

This happends in singleplayer and multiplayer (dedicated server) too.
Prins@je80
Engineer
Engineer
Posts: 4
Joined: 21 Nov 2002 11:20

Re: Community Integrated Version Build 1 (Test & Bug Fix)

Post by Prins@je80 »

First of all, great pack!! Good to see a replacement of the miniIN! Especially with PBS (now called advanced signalling). Haven't come around to using the traffic lights yet, but will so shortly, I think.

Since it's so great, I'd love to see it completely working and since I found a big bug, I've got a bug report (savegame attached).

Problem is that I cannot put in orders for an oil ship to get to the oil-rigs in this game. How to produce: I've made already a dock in the far left corner of the game (near Exdean, there are only two rigs there, and I have created already one dock). Create a depot and buy a CS-Inc oil tanker. Select in the orders the go-to and try to click on the rigs. No way that the order appears. And yes, I had the pause turned off while doing this. Don't know if this is a bug in the CIV or the main game... Version of CIV used: 12868 under Linux.
Attachments
Me, Myself and I, 18th Apr 1989.sav
Savegame with bug. Uses:
[newgrf]
usroadsw.grf
newtramtracksw_v0.3.grf = 1 1
generictrams_v0.32.grf
(1.78 MiB) Downloaded 111 times
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: Amazon [Bot] and 7 guests