News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

[Closed] New Simutrans-Experimental server (bridgewater-brunel.me.uk)

Started by jamespetts, January 14, 2012, 09:03:19 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jamespetts

Respectable pings (although I get about 37-47ms). I shall have to reduce the FPS when I get time.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

rsdworker

i had desyc trying to build bus line

i think around 200 ping because mine is fast

Guvnor

Where do I go to see ping times in game?  I get no reply when pinging the IP outright.

jamespetts

Hmm - you should be able to ping it - I just tried, and got 14-15ms.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

I have just restarted the server with a lower frames per second setting - can people reconnect and let me know whether it desyncs any less often? Thank you!

Edit: For reference, whoever is connected now (IP 81.62.xx.xxx), is pinging at about 37ms from the server.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

ӔO

I think I see one way to cause a desync and it has to do with copying/starting a lot of convoys at once by holding down the space key.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

ojii

Quote from: jamespetts on January 15, 2012, 05:58:43 PMEdit: For reference, whoever is connected now (IP 81.62.xx.xxx), is pinging at about 37ms from the server.

That's me!


Anyway, how do I build a public stop in Sim-Exp? I want to build a ship line to connect Willowingcaster with Curlden (to connect to give AEO the possiblity to connect to my network).

ӔO

#42
Quote from: ojii on January 15, 2012, 06:21:09 PM
That's me!


Anyway, how do I build a public stop in Sim-Exp? I want to build a ship line to connect Willowingcaster with Curlden (to connect to give AEO the possiblity to connect to my network).

in ex, you connect networks by overlapping your station catchment area onto one of my stations.

btw, I was thinking of building down to nutworth, for now.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

jamespetts

Oiji - hello! In Simutrans-Experimental, unless set otherwise in simuconf.tab, only the public player builds public stops. Instead of building public stops, you need to give access to the player(s) whom you wish to use your stops by clicking the appropriate checkbox in the players window.

As AEO pointed out, it is also possible for passengers (but not mail or goods) to walk between two nearby but not immediately adjacent stations, but, just as in real life, this is not ideal, as it adds transfer time. It will work, however, where the other transport company will not let you connect to its stations.

How's stability now, incidentally - any more desyncs?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

ӔO

I seem to be desynchronizing more often now.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

rsdworker

same as me - only when clients connect and disconnect - causes things not synced - example i get faster then when someone leaves game and game saves it then person leaves then i tried to send buses out its kept clicking till they are gone

jamespetts

Rsdworker - can you elaborate a little, since I am slightly confused - do you mean that you tend to desync just after somebody else has connected or disconnected? Or do you mean something else?

AEO - hmm, that's odd - all that I did was reduce the FPS, which should make things better. Can you try adjusting the additional_client_frames_behind in your simuconf.tab file (this is not saved with a game) to see whether changing this setting makes any difference?

Edit: Incidentally, some resource usage statistics, for those interested in resource consumption on this server. This instance is recorded as having started at 1755 and been running for 40:16 minutes. It is occypying 32.4% of the CPU (at the time of the check) and 16.8% of the 3Gb of RAM allocated to this virtual server.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

rsdworker

Quote from: jamespetts on January 15, 2012, 08:01:34 PM
Rsdworker - can you elaborate a little, since I am slightly confused - do you mean that you tend to desync just after somebody else has connected or disconnected? Or do you mean something else?

AEO - hmm, that's odd - all that I did was reduce the FPS, which should make things better. Can you try adjusting the additional_client_frames_behind in your simuconf.tab file (this is not saved with a game) to see whether changing this setting makes any difference?

yes its occurs when clients connecting on and off - its causes desync for example client A - aeo on then other goes off - i was trying make bus line but took long time to send alot of buses

jamespetts

#48
Hmm - very odd. Not quite sure what might be causing this.

Edit: Does this ever happen in Standard?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

rsdworker

Quote from: jamespetts on January 15, 2012, 08:22:11 PM
Hmm - very odd. Not quite sure what might be causing this.
i had good look - the simloops was 1.6 when i tried to send out the buses

ӔO

okay, I've restarted my game client with additional_client_frames_behind=8
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

prissi

Different locations of trees => different building costs for ways => trees matters.

I did not say no trees, but after setting up the world, place trees manually. And set the tree per tile parameter to 2 or 3. That will greatly reduce map size, desyncs at season changes.

And with a map running at 80% single thread load, any more complex action is bound to cause a desync. For debugging desyncs, a smaller map which allows for faster reconnect seems more important. For the start try 512x512. There is still a lot that can be done on it.

jamespetts

AEO,

do let me know how you get on with the different settings.

Prissi,

hmm - why would the trees have different locations on the server/client? Are the tree data not part of the saved game, such that they synchronise automatically? Running a brief check with two clients simultaneously connected to the server, and testing a sample area, all the trees were in exactly the same place on both clients.

Also, it seems to me somewhat unlikely that the difference between players' profits would cause desyncs more than very, very rarely. To cause a desync, something would have to call a random number generator more often on the client than the server or vice versa (or possibly call it from different places). There is no direct connexion between a player's bank balance and any calls to random number generators. A desync is only likely to happen if building a particular thing would exceed a player's credit limit on the client but not the server (or vice versa), so the thing is built on the client and not the server (or vice versa) and the presence of that thing that is built in turn causes a desync.

As to CPU load - happily, this server is running at about 33% so far, so hopefully the 80% will not be reached for a while; but it is useful to know the limits.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

ӔO

I'm using additional_client_frames_behind=16 and still getting desynced.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

jamespetts

Does it seem to make any difference, or is it equal with any setting? Are you getting desynced at particular times or randomly?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

ӔO

server seems to have crashed?
what is interesting is that the winxp client just closed down entirely, while the win7 client desynced.
the winxp client also never received your last message.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

prissi

@AEO:
How much is your CPU usage per core? If the server cannot follow certain commands, you time will be fast and you will be disconnect due command from the past.

That was why I suggested to have a map with a little less load.

ӔO

#57
@prissi
from the local save, I get around 25~35% cpu usage and around 380MB memory usage.
I'm not sure what I had in online mode.

edit: actually, the local save seems to have randomly crashed as well.

edit2: seems to happen at around 2:18~2:50 mark consistently, so it might have something to do with a way usage permission and convoys trying to use it.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

prissi

Well, random crashes that concludes my extremely small experience with actually playing sim-exp. But that was half a year ago.

jamespetts

I am looking into the crash issue presently.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

prissi

Use a tool like valgrind, which really help to iron out all issues with unitialized values and things depending on them. Such will be a quite sure case of desync or crashes. (Work on Linux. But just install unbuntu in a virtual machine like vmplayer works great.)

jamespetts

#61
The crash that I was able to reproduce was a stack overflow, which I caught in MSVC++, associated with the generation of pedestrian graphics when passengers arriving at a stop are able to walk to their next transfer. I am looking into limiting the number of pedestrian graphics that can be generated per sync step to deal with this issue.

Edit: As should be apparent, it will not be possible to restart the server until I fix the bug and release the next (bugfix only) version of Simutrans-Experimental. In the meantime, here is a copy of the saved game for the curious.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

sdog

Quote from: jamespetts on January 15, 2012, 12:14:31 PM
SDog - actually, the trees don't seem to be causing much difficulty so far. For a high-specification map, a 45 second load time is fairly reasonable, I think. We shall have to see with experience whether it is unserviceable in play or not, but I really do want to test the boundaries of what can be done with high specification maps on a high specification server.
i don't doubt that your server can easily handle the large map, the bottleneck is the transfer. Especially with overseas connections.
Also keep an eye on the transfered data, so you don't run into limitations there. If you had three players connected on average and a desync every 5 minutes on average you have about 100 MB a hour, just for sending savegames after resets. (question to the devs: simutrans is transfering the whole game, or is it saved locally and just the differences transfered, similar to rsync?) That could easily get you some 60GB+ per month. With some contracts they have you pay through your nose if you exceed some limits.

trees had quite an impact on performance for me, much more than anything else in the game. but that might as well be due to the actual drawing, which doesn't matter for the server.

jamespetts

Sdog,

thank you for the thoughts. The server that I have has unlimited monthly bandwidth, happily, so that should not be an issue. (To answer your question, it transfers the whole game, albeit compressed in bz2 format).

With trees, I changed forsest.tab in Pak128.Britain some time ago to reduce the tree density and forest prepondernece to get a good smattering of trees but retain acceptable performance, as tree heavy maps caused me performance troubles, too.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

sdog

the more i think about stuff in simutrans, the more it hurts me that i still can't get along with c(++). (i really have to learn it, also as being good at c is a good insurance against unemployment.)

jamespetts

Do you know any computer programming languages?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

sdog

a few, but all are those easy 'pedestrian' languages, that do most for you, or are for people who are spoiled for programming. (fortran, perl, scripting, half a dozen used once and forgotten)
With structs, allocation, overloading, pointers and all object oriented i don't know the least bit. What's worth, i don't have an idea of theoretical computer science, which i am always told is the first step before even looking at a line of code.

What makes C++ almost impossible for me to read are the many casts.
To my very great shame, i was recently to stupid to use gsl (gnu scientific libraries) in perl for numerical integration. I coded a fortran 90 wrapper for 1980 fortran 77 subroutines and piped my data to that program :-(
In physics it doesn't matter, if it takes 3 seconds with that frankenstein, since i run the data through it once, and then the program is archived.

is Kunth still the best approach, to get into C?


ps.: i have the feeling i hijacked your thread (again!), would you like to split it off and move it to the off-topic discussions?

ojii

Quote from: sdog on January 16, 2012, 12:31:39 AM
a few, but all are those easy 'pedestrian' languages, that do most for you, or are for people who are spoiled for programming. (fortran, perl, scripting, half a dozen used once and forgotten)
With structs, allocation, overloading, pointers and all object oriented i don't know the least bit. What's worth, i don't have an idea of theoretical computer science, which i am always told is the first step before even looking at a line of code.

What makes C++ almost impossible for me to read are the many casts.
To my very great shame, i was recently to stupid to use gsl (gnu scientific libraries) in perl for numerical integration. I coded a fortran 90 wrapper for 1980 fortran 77 subroutines and piped my data to that program :-(
In physics it doesn't matter, if it takes 3 seconds with that frankenstein, since i run the data through it once, and then the program is archived.

is Kunth still the best approach, to get into C?


ps.: i have the feeling i hijacked your thread (again!), would you like to split it off and move it to the off-topic discussions?

C is NOT the same as C++, if you want to code on simutrans, I recommend you look into C++ directly.

sdog

Quote from: ojii on January 16, 2012, 12:33:36 AM
C is NOT the same as C++, if you want to code on simutrans, I recommend you look into C++ directly.
oh, i just used C to unspecifically address the language family, but had almost exclusively C++ in mind.

Ashley

Quote from: ojii on January 16, 2012, 12:33:36 AM
C is NOT the same as C++, if you want to code on simutrans, I recommend you look into C++ directly.

Heh, from what I've seen some parts of the code base are C++ only insofar as they have a .cc file extension :P

James - who're you buying this hosting from? I'd be interested to know where you're getting it so cheaply.
Use Firefox? Interested in IPv6? Try SixOrNot the IPv6 status indicator for Firefox.
Why not try playing Simutrans online? See the Game Servers board for details.