News:

Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

Networking Simutrans discussion

Started by Isaac Eiland-Hall, January 01, 2010, 06:18:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Isaac Eiland-Hall

Quote from: prissi on January 01, 2010, 03:41:26 PM
The networking code nearly reaches the first stage, where poeple can connect a game and play over the network on the same map. This long term effort is now coming into its final stage. You need a nightly and can then start a server by putting -server -log 0 -debug 0 on the commandline. In the client, you need to enter net:127.0.0.1 as name for the game to load.

This is still early code, so the nightlies actually may become instable for a little while. For playing, you might rather use 102.2.1. When reporting bugs on networking, at the moment report only those, where the client lost synchronisation reproducably and give exactly the order of commands needed and then last twenty lines of simu.log of the clients.

Bugs on joining and so on are still too early, as we know there are still many.

When this hits the nightlies - should one be able to run two copies of Simutrans to connect to the local server?

prissi

YOu can do so now, it is already mostly in, the only problem is the logfile. But it should work.

(For non-professionals: 127.0.0.1 is your local IP address. Loading a file from net:127.0.0.1 will try to connect to a server from your local hard disk.)

vilvoh

#2
It works!!  ;D

One thing. If you replace the local IP by another one from a pc where there's a server active, will it work?

Escala Real...a blog about Simutrans in Spanish...

jonasbb

It works.
You have to check, that the port on which ST listen is open, if you use any fireqall or router.

Isaac Eiland-Hall

Well. I guess this means I will have to try and get it working on my secondary server. :D

Do you have to have a GUI, or will it run from command line? (for the server)

jonasbb

I think you need a GUI, because ST-Server has also a window in which you can play.
X-Forwarding could make ST-Server run on an Unix-like system without GUI.

prissi

You can compile with backend=posix, this will generate a server without graphics. But it is way too early for real gaming, and the interface has several points where you might try a buffer overflow, ihmo. This needs much more debugging.

The default port is 13353, but it could run on any other port.

Isaac Eiland-Hall

What bugs *do* you want reported? Or none at all? heh

So far, I found:

- Running a server and one client on a single box works fine, but trying to join a second client on the same box causes protocol error, then crash.

- Running server as public service and client as human: 1) clicking to place a station causes the server to also show the orange coverage grid, and 2) clicking 'new line' in schedule box creates the line, but doesn't pop up the box to add stops; however, "update line" works. heh

Do you want reports of these types of things? I mean, there's no expectation for instant fix - as you say, it's really really early in the development. But I don't know if reporting these things would be helpful or a waste of your time :)

Either way, thank you for letting us play with this as is. I scared my wife when I loaded the client successfully, because I accidentally let out a shout of excitement. hehehe

prissi

Second cient does not really work is a known issue.

You can report bugs, but many of them at least I am aware. So I would think best only desynchronisation issues, which I am most likely not aware.

Dwachs

@Isaac: your bugs should have been fixed already :P
Parsley, sage, rosemary, and maggikraut.

Isaac Eiland-Hall

I'm sorry, I don't know where discussion takes place on bug fixing, and this was from the latest nightly. But I'll check again next nightly :)

VS

If it's in nightly, it is probably official, so I would wager a guess - bug reports go in bug reports? ;)

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

Isaac Eiland-Hall

Given the introduction of the feature by Prissi, I wasn't so sure. :shrug:

z9999+

Do you have a plan to support these problem below ?

- Ctrl and shift key handling.
This is a basic feature to build roads. I mostly use it but not synchronize.
- Underground mode.
This is also basic but not synchronize.
- Last used way ( "s", "t")
Last used way is not player dependent currently.
- Map rotation
Map rotation support is also not good.

Dwachs

Quote from: z9999+ on January 03, 2010, 01:56:08 AM
Do you have a plan to support these problem below ?
These are known bugs. The underground/visibilty checks have to be removed from the building routines, also the state of ctrl has to be transfered over network.

More known bugs:
-- pausing the game may or may not work correctly
-- the player menu is not synchronized (ie a client cannot start a new company)

@Isaac: I was not aware that no new nightlies were produced the last days. But now there is one
Parsley, sage, rosemary, and maggikraut.

z9999+

Quote from: Dwachs on January 03, 2010, 09:09:10 AM
These are known bugs.

Okay, it's not playable yet.
Then why announcing now ? What is near ?

jamespetts

Excellent! This should add an exciting new dimension to Simutrans. I can only imagine that a very large amount of work has gone into this - thanks to all involved!
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.

Dwachs

Quote from: z9999+ on January 03, 2010, 10:34:38 AM
What is near ?
A network playable version? Near is not the same as ready.

There are limitations now, yes, but if one knows them and avoids them, it is playable.

So considere this announcement as an early pre-alpha version.
Parsley, sage, rosemary, and maggikraut.

Isaac Eiland-Hall

Quote from: Dwachs on January 03, 2010, 09:09:10 AM
@Isaac: I was not aware that no new nightlies were produced the last days. But now there is one

Ah! Well, that explains the confusion. :D

I'll download and test more. And try and get my wife to help. :D

Quote from: z9999+ on January 03, 2010, 10:34:38 AM
Okay, it's not playable yet.

Even with problems, I was able to play and test some. Sure, the bugs were out of date because the nightlies were behind, but still I know it will be helpful when I download the latest. :D




I'm very very thankful for the release of code into the nightlies, and the release of information on how to use what's there. It's exciting and fun! :D

sojo

I have only a question. Sorry, if I had not read it.

Will there be a chatfunction?
"English is a easy language. But not for me." ;) sojo

follow simutrans_de on Twitter
- A home for Simutrans (in german)

Dwachs

Quote from: sojo on January 03, 2010, 03:42:29 PM
I have only a question. Sorry, if I had not read it.

Will there be a chatfunction?
Why not? However, the implementation only slowly catches up with all the dreams and wishes :D
Parsley, sage, rosemary, and maggikraut.

IgorEliezer

While an in-game chat doesn't exit, go using Simutrans Chat. It's a poor solution, but solves things for a while.

Ashley

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.

Isaac Eiland-Hall

Quote from: IgorTekton on January 03, 2010, 04:14:15 PM
While an in-game chat doesn't exit, go using Simutrans Chat. It's a poor solution, but solves things for a while.

Next time someone edits simutrans.com page, should add this link:
http://webchat.quakenet.org/?channels=simutrans

No need to download a client :)

Actually... I'll see about redirecting chat.[ simutrans [dot] us (site down, do not visit) ] there (.com later maybe)


Dwachs

Quote from: z9999+ on January 03, 2010, 01:56:08 AM
- Ctrl and shift key handling.
This is a basic feature to build roads. I mostly use it but not synchronize.
- Underground mode.
This is also basic but not synchronize.
- Last used way ( "s", "t")
Last used way is not player dependent currently.
This should work now with revision 3075.

Last used way is client dependent. Different players within one client share these default ways. (As it used to be without networkmode)
Parsley, sage, rosemary, and maggikraut.

Václav

May be I am wrong: is server installed via (for example) VertrigoServ sufficient for net game? - or is some else server needed?

Download of VertrigoServ is available on SourceForge.

Chybami se člověk učí - ale někteří lidé jsou nepoučitelní

Dwachs

you do not need an extra server. Simutrans itself acts as one: just start with parameter -server (only trunk version not stable release candidate).
Parsley, sage, rosemary, and maggikraut.

Václav


Chybami se člověk učí - ale někteří lidé jsou nepoučitelní

Dwachs

yes.

Disclaimer: current nightlies are built from the stable branch without networking.
if you want to try it out either (a) compile yourself, (b) take the last trunk nightly 3055 from january 27 or (c) wait until the stable is released and nightlies are built from trunk again.
Parsley, sage, rosemary, and maggikraut.

Dwachs

... the nightlies on the nightly downloadpage contain the network features (&bugs) again !

Please test!
Parsley, sage, rosemary, and maggikraut.

jamespetts

How is testing of the network multiplayer mode progressing?
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.

Dwachs

One should compile the code for himself, since the savegame version simversion.h needs to be stepped up.
Parsley, sage, rosemary, and maggikraut.

jamespetts

Dwachs,

is anyone running a server for testing this...?
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.

jonasbb

You can run your own server.
A server where you can see all available games is not possible.

You have to start your own server and give the IP to the ST-client.

Dwachs

@James: due to rl restrictions no 'official' network testing is in progress. That will have to wait after the next release.
Parsley, sage, rosemary, and maggikraut.

prissi

Any server needs version 102.3 for savegame (or up) for client too!

jamespetts

As will be appreciated, running a local server and connecting to it on a local machine is not as rigorous a test as connecting to a server that is actually accross a network ;-) Nobody is running a test server somewhere...?

Has much testing actually across a network taken place?

Edit: Have only just seen Dwachs and Prissi's messages. So, the position is that network testing will recommence after the next stable release?
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

Problems are desync. Running over the network has been done and is working fine. The longer a line is, the longer delay setting is needed to execute stuff, which needs to be passed to the server. But that is all.

jamespetts

How bad are these synchronisation problems?
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.

Dwachs

Desynchronisation is as bad as losing the network connection at all. That is, the client has to connect to server again.
Parsley, sage, rosemary, and maggikraut.

jamespetts

And how often does this desynchronisation occur at present? Are you optimistic that the issue will be resolved in due course to make the game playable over a network?
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

Desynchronisation means the core engines came out of sync. This happens when for instance the vehicles arriving at a crossroads in different order. It is checked every x frames (currently I think x=250) and if occured, it will kick the client out. Thus this needs to be addressed. However, core functionality needs to be present even before that. This is 95% done, with some stuff still pending for the player, pak detection and forestconf/cityconf decriptions.

jamespetts

Ahh, I see. I shall look forward to seeing how this progresses - excellent work so far :-)
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.

Maragil

Sorry, not quite sure what's going on person entering chat here-

Is it usable over a Local Network?, i.e can both myself and someone else both build simultaneously on the same map from two different computers connected to a network?

Thanks,

H./

H./

VS

Actually, over local network it should be easier than over internet...

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

TrainMith

prissi:  Perhaps if the networking latency gets to the point where it now kicks out the client, instead the server slows down the game speed until an acceptable level and if the latency gets larger then finally kicks the client.  Just a suggestion.

prissi

The clients speed is irrelevant. Longer latency just means you have to wait longer for clicks. Only if you latency is changing like crazy, desyncs may happen; but this may be treu for any netowrking game which needs synchronisation between all clients.

Dwachs

In my (small) experience, desynchronisation occurs if the server does not run continuously. Ie, if the cpu time of simutrans on the server varies heavily. Then at some point, the client runs ahead of the server. Then if the server sents a command to be executed at a certain step, this step may be already computed on the client -> client get kicked out. This cannot be foreseen by the client etc.
Parsley, sage, rosemary, and maggikraut.

jamespetts

Dwachs,

in which case it may be sensible to ensure that the server is a fast machine and/or Simutrans is set to have a high processor priority on 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.

Maragil

Sorry- still confused here - what's the status of Simutrans over Local Networks?

H./

Dwachs

Sorry to say that, but you need to compile your own version first (the compiled nightlies do not work over network, but the source code is there). Or wait until a new version is released. Or more technically: if the savegame version is increased (which means not more than that savegames from such nightlies cannot be loaded from the previous stable releases anymore).

The basic infrastructure for networking is in the source code, but there are stills things needed to be sorted out.
Parsley, sage, rosemary, and maggikraut.

Dwachs

Good news: you can test networkmode in recent nightlies. You do not have to compile yourself anymore, as the network version will use the increased savegame version automatically.
Parsley, sage, rosemary, and maggikraut.

prissi

The next nightly (r3696) should have a relatively stable network modus. One of the unsolved problems is the clients sometimes very badly lagging behind. But there have been no crashes in 1h playing with haiku, windows serevr and windos client, and only one synchronisation was lost.

jamespetts

Glad to see progress with this! Multiplayer Simutrans should be very fun.
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.

Xelofino

So i am a dummy. You are always writing from Commandline and client but i have no idea how i could make it working. Could someone write how he is doing it that he can play with himself on the same computer cause i didn't get it. sorry for being silly.

Xelofino

vilvoh


Escala Real...a blog about Simutrans in Spanish...

Xelofino

Thank you very much!!!!!!
I searched in the international Blog and in the Forums but i didnt find it.