News:

Do you need help?
Simutrans Wiki Manual can help you to play and extend Simutrans. In 9 languages.

simutrans experimental server

Started by Vladki, June 20, 2016, 09:09:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ves

#35
I have made a dropbox folder with several of my compiles, both executable and makeobj, and now my self compiled pakset I used to get onto the server is also in that folder.
The link is:

Old URL

Look for the correct git-commits. The pakset is inside the "Simutrans-Experimental Devel-new" folder.


Edit: the builds are now on this site:
http://server.exp.simutrans.com/Devel-new-builds/

Vladki

lateset exe uploaded to server.exp.simutrans.com

Ves: I have tried your pakset, and can connect without any issues.

Isaac Eiland-Hall

Is there a pre-compiled Experimental that would work with this server? I downloaded the linux executable + the Britain pak, and realized it's not enough. lol

Junna

Crashes when I connect to the server.

Ves

QuoteIs there a pre-compiled Experimental that would work with this server? I downloaded the linux executable + the Britain pak, and realized it's not enough. lol
On the dropbox folder previously linked, it should now contain all you need to run the devel-new branch, inclusive a pakset.

QuoteCrashes when I connect to the server.
If you used my compiles, be aware that it might not be the newest one that is the correct one on the server. The git commit is presented after the timestamp in the filename.

jamespetts

That is rather odd - I get a crash, too, and in code that is largely unchanged from Standard. In this section of code in simworld.cc:


// process enqueued network world commands
while(  !command_queue.empty()  &&  (next_command_step<=sync_steps/*  ||  step_mode&PAUSE_FLAG*/)  ) {
network_world_command_t *nwc = command_queue.remove_first();
if (nwc) {
do_network_world_command(nwc);
delete nwc;
}
next_command_step = get_next_command_step();
}


I get an access violation on the do_network_world_command(nwc); line consistent with nwc having been deleted before that code is run. Something, somewhere is deleting entries in command_queue without removing them from the list, but it is not clear why, as I have not myself done any work on the mechanics of networking. Has there been a bug like this in Standard fixed in the last two years or so?

I should note that I get this only after trying to connect once and desynchronising. There is a place in the desync code where such an object is deleted:


// out of sync => drop client (but we can only compare if nwt->last_sync_step is not too old)
else if(  is_checklist_available(nwt->last_sync_step)  &&  LCHKLST(nwt->last_sync_step)!=nwt->last_checklist  ) {
// lost synchronisation -> server kicks client out actively
char buf[2048];
const int offset = LCHKLST(nwt->last_sync_step).print(buf, "server");
assert(offset < 2048);
const int offset2 = offset + nwt->last_checklist.print(buf + offset, "initiator");
assert(offset2 < 2048);
dbg->warning("karte_t::process_network_commands", "kicking client due to checklist mismatch : sync_step=%u %s", nwt->last_sync_step, buf);
socket_list_t::remove_client( nwc->get_sender() );
delete nwc;
nwc = NULL;


but this is unchanged from 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.

Isaac Eiland-Hall

Looks like the server crashed again. :(

Quote from: Ves on June 29, 2016, 07:33:26 AM
On the dropbox folder previously linked, it should now contain all you need to run the devel-new branch, inclusive a pakset.

Woot!

BTW, if you want to put any of these files on the server - if it's convenient for you - feel free. I have 2TB of space, although I'm uploading some large files. Still, I could spare you a heck of a lot of space if you need. But if it's inconvenient - dropbox works fine. :)

Meanwhile: http://isaac.simutrans.com/To-Play-On-SimuExServer.zip — I zipped up what appears to me to be a full working set of files, including the current Linux executable. As anything changes, this will be out of date, but it might be easier for anyone else lazy like me for now. :)

jamespetts

May I ask that the server be updated to the latest Github version and that the same be done for the pakset? I suspect that this not being done is causing the 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.

Vladki

Server is updated, and restarted. (BTW it did not crash today). Web page has updated executables, pakset and also the simutrans directory with other needed files.


jamespetts

Splendid, thank you. (However, I should note that I am currently working on bug fixes to time interval and time interval with telegraph, which will necessitate further changes soon).

Edit A brief test shows that this appears to be working.
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.

Ves

Is there an easy way to compile an older git-commit? using vs2015 and windows 10

jamespetts

I think that there is (some version of "git checkout...", I believe), but I cannot remember the details on the command line. Git's documentation (or online documentation) might assist here.
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.

Ves

Got it! I wasnt sure what it was called, but a google search including "checkout" gave me a good page! Solution: git checkout <commit>
Both makeobj and executable are now on dropbox!
NB: Look for the correct one, as there is also a newer version in the folder.

Vladki

Server recompiled to latest git commits, and restarted

Vladki

Now I had some crashes on both client and server:

FATAL ERROR: vector_tpl<T>::[] - 7koord3d: index out of bounds: 7 not in 0..6
Aborting program execution ...

For help with this error or to file a bug report please see the Simutrans forum at
http://forum.simutrans.com
FATAL ERROR: vector_tpl<T>::[] - 7koord3d: index out of bounds: 7 not in 0..6
Aborting program execution ...

For help with this error or to file a bug report please see the Simutrans forum at
http://forum.simutrans.com

[1]+  Aborted                 (core dumped) ./simutrans-experimental -server -freeplay -lang en -log -noaddons -nomidi -nosound -objects pak128.Britain-Ex  (wd: ~/simutrans)


Ves

I got an out of bounds crash too.

Vladki

Cathced message on the server from James about quick fix - recompiled an running again

DrSuperGood

QuoteCathced message on the server from James about quick fix - recompiled an running again
The pak 128 britain build corresponding with the used executable build does not match the server. It would be useful if the pakset and build used by the server could be cached separately from the generic "nightly" style builds so that people can easily have access to what is required for testing.

Vladki

the server uses the latest pakset version from git - the version that is specified in readme. I have repacked the pak128-britan-ex.zip, just to be sure.

Ves

Is the server down? It tells me the server is not responding.

Vladki

Quote from: Ves on August 29, 2016, 12:38:57 PM
Is the server down? It tells me the server is not responding.

Yep, it crashed, with quite familiar error. Restarted.


FATAL ERROR: vector_tpl<T>::[] - 7koord3d: index out of bounds: 65530 not in 0..20
Aborting program execution ...

For help with this error or to file a bug report please see the Simutrans forum at
http://forum.simutrans.com
FATAL ERROR: vector_tpl<T>::[] - 7koord3d: index out of bounds: 65530 not in 0..20
Aborting program execution ...

For help with this error or to file a bug report please see the Simutrans forum at
http://forum.simutrans.com

Ves

#56
I think that the one train staff's layout at Trnava are setup wrongly: Currently many small stations are sharing the same staff cabinets, but there should only ever be allowed one train at a time behind such a cabinet. The correct method I think should be either a cabinet at every small branch or the use of token block.

edit: got an out of bounds from the server:

FATAL ERROR: vector_tpl<T>::[] - class koord3d: index out of bounds: 65530 not in 0..20

There was some strange reservations going on while this happened.

It appears as the server crashed as well...

Vladki

#57
I know the setup is not optimal, but I made it such on purpose of testing. And at one time there was a train visiting multiple sidings (drop off wool at textile factory and pickup flour at grain mill. However now it nicely illustrates a bug which lets more convoys enter the area at the same time

Server restarted with debug on

I have hunted the server crash. In the attached save - look at the train at Trnava Dairy. When it departs it nearly collides with the tail of cargo (wool) train. The game crashes at the moment the milk train reserves path to a platform at nemcanka station. But if you open the shcedule of milk train while it is at the station, and let the wool train clear the one-staff area, then the milk train goes without problems (and without crashes).

http://server.exp.simutrans.com/debug-saves/client2-network.sve

Ves

The swedish version crashed. There are some problems with threes that I cannot get to work properly.

Vladki

Quote from: Ves on August 30, 2016, 05:28:19 AM
The swedish version crashed. There are some problems with threes that I cannot get to work properly.

swedish server restarted

jamespetts

I think that I have managed to fix the crash; would you be able to re-test?
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.

Junna

By the way Vladki, the upload of Pak128.CS on the server doesn't work to load in Sim-Ex. It crashes for some reason?

Vladki

Pak.cs is compiled for simutrans standart. I just did not have a better place whete to put it. Sorry for confusion. But stay tuned, I plan to compile for experimental.

Ves

You where concerned about the server not being used anymore, but as it currently stands, I cannot compile the commit that the server is currently running (due to the timespec-issues) and therefore not connect to the server without getting lots of desyncs. Would you be able to recompile the server again with the newest build, and perhaps a clean map, so that we can eliminate old savegame-faults and stresstest the signals even more?

Vladki

Server upgraded and restarted. (Both paks).

jamespetts

May I suggest that the server be updated to the latest version for consistent testing with the Bridgewater-Brunel 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.

Vladki

I have updated the server and linux client binary, as well as british pakset. But I cannot compile fresh makeobj:


===> CXX makeobj.cc
In file included from makeobj.cc:9:0:
../simversion.h:6:27: error: expected initializer before '__iob_func'
extern "C" FILE * __cdecl __iob_func(void) { return _iob; }
                           ^
../uncommon.mk:55: návod pro cíl ,,../build/default/makeobj-experimental/makeobj-makeobj-experimental.o" selhal
make: *** [../build/default/makeobj-experimental/makeobj-makeobj-experimental.o] Chyba 1


I tried to connect to bridgewater-brunel game, but I cannot due to pakset mismatch.

jamespetts

Were you trying to compile makeobj on Linux or Windows? If Windows, you need to use an older version of libpng (3.x). If Linux, I have just made an alteration to the code which might help to compile it in Linux, but I have not tested it yet. Would you be able to check this again?

If you cannot build makeobj, the current compiled binaries for Pak128.Britain-Ex 0.9.2 can be downloaded here; these are up to date at the time of writing, but may well be superseded in due course.
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.

Vladki

Compiling for linux - now it succeeded.

Still looking why there is a pakset mismatch. One thing is that pakset compiled on linux (using makefile) contains all objects in seprate files, while yours  (uploaded on bridgewater brunel server) has them merged in groups (Air, Boat, Bus,...)

I let run the "compare pakset" tool, and got huge list of missing paks...

jamespetts

That is odd. The reason for the difference in pakset files is that the python script (used on Windows) arranges things differently to the makefile (used on Linux), but this should not result in missing object warnings. Have you tried the downloaded version?
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.