News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

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.

Vladki

Hi, splitting from the signalling discussion. I have compiled the server, with config.default:


BACKEND = posix
COLOUR_DEPTH = 16
OSTYPE = linux


Compilation went OK, but when I try to start the server I get:
./simutrans-experimental -server -objects pak128.Britain-Ex/  -debug
....
Reading speedbonus configuration ...
Reading private car ownership configuration ...
Reading electricity consumption configuration ...
Reading menu configuration ...
Warning: create_simple_tool():  deprecated tool [27] requested
Reading object data from pak128.Britain-Ex/...
Segmentation fault (core dumped)

strace gives:
write(2, "Reading menu configuration ...", 30Reading menu configuration ...) = 30
write(2, "\n", 1
)                       = 1
write(2, "Warning: create_simple_tool():\t", 31Warning: create_simple_tool():   ) = 31
write(2, "deprecated tool [27] requested", 30deprecated tool [27] requested) = 30
write(2, "\n", 1
)                       = 1
write(2, "Reading object data from pak128."..., 46Reading object data from pak128.Britain-Ex/...) = 46
write(2, "\n", 1
)                       = 1
open("pak128.Britain-Ex/.", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5
fstat(5, {st_mode=S_IFDIR|0775, st_size=221184, ...}) = 0
brk(0x13ff000)                          = 0x13ff000
getdents(5, /* 611 entries */, 32768)   = 32768
getdents(5, /* 613 entries */, 32768)   = 32728
getdents(5, /* 602 entries */, 32768)   = 32760
getdents(5, /* 609 entries */, 32768)   = 32728
brk(0x1420000)                          = 0x1420000
getdents(5, /* 611 entries */, 32768)   = 32736
getdents(5, /* 540 entries */, 32768)   = 28880
getdents(5, /* 0 entries */, 32768)     = 0
close(5)                                = 0
open("pak128.Britain-Ex/ground.Outside.pak", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0664, st_size=192, ...}) = 0
read(5, "Simutrans object file\nCompiled w"..., 4096) = 192
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x14} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)




jamespetts

Hmm - this is not very useful output, and I am not familliar with strace. Can you run it again with gdb and see what output that you get with that?
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 got i bit further. The first was indeed broken ground.Outside.pak. Here is a fix for makefile. Apparently some versions of make did a good job, some don't.

diff --git a/Makefile b/Makefile
index e6576d3..e88941d 100644
--- a/Makefile
+++ b/Makefile
@@ -157,7 +157,7 @@ $(OUTSIDE):
        @echo "===> OUTSIDE with REVISION and grounds"
        @mkdir -p $(PAKDIR)
        @$(MAKEOBJ) PAK128 $(PAKDIR)/ $@/ > /dev/null
-       @echo -e -n "Obj=ground\nName=Outside\ncopyright=$(VERSION_STRING)" >$@/outsiderev.dat
+       @echo -e "Obj=ground\nName=Outside\ncopyright=$(VERSION_STRING)" >$@/outsiderev.dat
        #@svnversion >>$@/outsiderev.dat
        @echo -e "Image[0][0]=images/ls-water-outside-128.0.0\n-" >>$@/outsiderev.dat
        @$(MAKEOBJ) PAK128 $(PAKDIR)/ $@/outsiderev.dat > /dev/null


Though still no success, it segfaults at other place (loading the passing-point-test.sve)

Running world, pause=0, fast forward=0 ...
Message: karte_t::reset_timer():        called, mode=$4
Debug: karte_t::interactive:    welcome in this routine
Message: karte_t::reset_timer():        called, mode=$4
Debug: karte_t::interactive:    start the loop
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Debug: karte_t::step:   start step
Debug: karte_t::step:   time calculations
Debug: interrupt_check: called from (simworld.cc:4958)
Debug: karte_t::step:   pending_season_change
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4971)
Debug: interrupt_check: called from (simworld.cc:4988)
Debug: interrupt_check: called from (simworld.cc:4993)
Debug: karte_t::step 4: step 3 convois
Debug: interrupt_check: called from (simworld.cc:5001)
Debug: karte_t::step 6: step cities
Debug: karte_t::step:   step factories
Debug: karte_t::step:   step poweline stuff
Debug: karte_t::step:   step players
Debug: karte_t::step:   step halts
Debug: interrupt_check: called from (simworld.cc:5094)
Message: network_command_t::rdwr:       write packet_id=8, client_id=0
Warning: nwc_tool_t::rdwr:      rdwr id=8 client=0 plnr=255 pos=koord3d invalid tool_id=8224 defpar=Now 0 clients connected. init=1 flags=0
Debug: karte_t::step:   end
Debug: karte_t::interactive:    point of loop return
Warning: nwc_tool_t::clone:     send sync_steps=1  tool=8224 init
Message: network_command_t::rdwr:       write packet_id=8, client_id=0
Warning: nwc_tool_t::rdwr:      rdwr id=8 client=0 plnr=255 pos=koord3d invalid tool_id=8224 defpar=Now 0 clients connected. init=1 flags=0
Message: network_world_command_t::execute:      do_command 8 at sync_step 5 world now at 4
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Debug: karte_t::interactive:    point of loop return
Message: nwc_tool_t::do_command:        steps 5 tool 8224 init
Message: nwc_tool_t::do_command:        id=32 init=1 defpar=Now 0 clients connected. flag=4
Message: message_t::add_msg():                  Now 0 clients connected. (at -1,-1)
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_t::interactive:    point of loop return
Debug: karte_ansicht_t::display:        starting ...
Debug: karte_ansicht_t::display:        display pointer
Neoprávněný přístup do paměti (SIGSEGV)


I'm not used to gdb, so I did:

gdb --args ./simutrans-server -server -objects pak128.Britain-Ex -lang en -load passing-point-test.sve -debug
(gdb) run
and got the same as above plus:

Program received signal SIGSEGV, Segmentation fault.
__memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:2060
2060    ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: File or directory does not exist.

jamespetts

Thank you for the make fix.

To try to understand the segmentation fault, I need a backtrace from GDB. Are you able to have a go at obtaining one of those?
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

Could you hint me how to get the backtrace? I have not used gdb since school days...

TurfIt

'bt' ? It does always say "Try 'help'" when it's confused...

However, this does have a stench of you running afoul the GCC optimizer, as did I during the recent failed releases of Standard. Are you trying an optimized build targeting newer than a pentium2 using a newish GCC?
First try a non-optimzed build, if that works, then adding -mstackrealign to the compiler flags for the optimized case; Worked to finally get the Standard releases working for those whom it originally crashed.

Vladki

This is my config.server, building on i5, gcc version 4.9.2 (Debian 4.9.2-10), no optimisations unless they are done by default.

BACKEND = posix
COLOUR_DEPTH = 16
OSTYPE = linux
DEBUG = 3
VERBOSE = 1
FLAGS = -fpermissive -fno-delete-null-pointer-checks -fno-strict-aliasing


Backtrace:

(gdb) bt
#0  __memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:2060
#1  0x00000000004d88db in display_scroll_band (start_y=-28, x_offset=2, h=13)
    at display/simgraph16.cc:3936
#2  0x000000000071ba31 in ticker::draw () at simticker.cc:124
#3  0x00000000005bd110 in win_display_flush (konto=100677.06) at gui/simwin.cc:1525
#4  0x00000000006ff103 in intr_refresh_display (dirty=false) at simintr.cc:77
#5  0x00000000007585ee in karte_t::sync_step (this=0x1194a00, delta_t=40, sync=true, display=true)
    at simworld.cc:4329
#6  0x000000000076b528 in karte_t::interactive (this=0x1194a00, quit_month=2147483647)
    at simworld.cc:9116
#7  0x00000000007098b7 in simu_main (argc=9, argv=0x7fffffffe0e8) at simmain.cc:1361
#8  0x000000000071b731 in sysmain (argc=9, argv=0x7fffffffe0e8) at simsys.cc:804
#9  0x00000000007cc031 in main (argc=9, argv=0x7fffffffe0e8) at simsys_posix.cc:186


TurfIt

colordepth 0 for command line server.

jamespetts

TurfIt - thank you for your help. Vladki - let me know how you get on trying COLOR_DEPTH = 0.
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 does not compile wit COLOR_DEPTH=0


vladki@b:~/simutrans-experimental$ vi config.default
vladki@b:~/simutrans-experimental$ make
===> CXX display/simgraph0.cc
display/simgraph0.cc: In function 'bool display_load_font(const char*)':
display/simgraph0.cc:64:35: error: ambiguating new declaration of 'bool display_load_font(const char*)'
bool display_load_font(const char*)
                                   ^
In file included from display/../besch/bild_besch.h:10:0,
                 from display/simgraph0.cc:9:
display/../besch/../display/simgraph.h:141:8: note: old declaration 'uint16 display_load_font(const char*)'
uint16 display_load_font(const char* fname);
        ^
display/simgraph0.cc: At global scope:
display/simgraph0.cc:194:47: warning: unused parameter 'n' [-Wunused-parameter]
void display_fit_img_to_width( const image_id n, sint16 new_w )
                                               ^
display/simgraph0.cc:194:57: warning: unused parameter 'new_w' [-Wunused-parameter]
void display_fit_img_to_width( const image_id n, sint16 new_w )
                                                         ^
display/simgraph0.cc:297:27: warning: unused parameter 'char_code' [-Wunused-parameter]
bool has_character( utf16 char_code )
                           ^
common.mk:50: recipe for target 'build/default/display/simgraph0.o' failed
make: *** [build/default/display/simgraph0.o] Error 1

DrSuperGood

The graphics API was changed a while back after a few ambiguities and errors. Is it possible that the 0 colour one has not been updated to reflect the API in experimental?

jamespetts

When was it updated, do you know?
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.

TurfIt


jamespetts

Splendid, thank you. This should now be fixed - could you possibly 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.

Vladki

compilation is ok, server started - no crash so far, I will test more tonight.

many thanks James

Vladki

Testing server is up and running. Please try to connect to server.exp.simutrans.com.
Look at http://server.exp.simutrans.com/ to download latest pakset and linux executable, and info about the exact version I have compiled.

The game there shows some signaling schemes discussed recently. The game is not locked but please play nicely. If you want to show your layout, find some empty place and do it. Delete only your own tracks.
Please try and tell me if you succeeded.

jamespetts

I have tested connecting to it, which seems to work. I have not had a chance to look at the signalling in any detail now, but at least the server is working. Thank you for that.
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

I tried to connect last night, but could not connect due to the paksets doesnt match. I tried the pakset you provided, I tried some of my own compilations, but always, they where not the same as the server.
Today, it tells me the server is not responding.

Isaac Eiland-Hall

Hmm. Just checked and the server has virtually no load on it. I've got a file upload running, but it's well below (around 1/10th) saturating the link (saturating my outbound link which is around 10% of the server's inbound link)...

I don't see the simutrans-server process; I forget the name of the process, but IIRC it did look like simutrans; and currently nothing does. Maybe it crashed?

Vladki

#19
Yes the process (simutrans-experimental) crashed. I'm compiling fresh executable and pakset, and will restart it soon, with some debug and logging to see why it crashed.
So, the crash may be because I was over quota. I have deleted the pak128.britain sources, and will compile them at home, and rsync.

I have one more fix for the makefile - there was a duplicate outside.dat generated on the fly in makefile. That may be the reason for pakset mismatch:


diff --git a/Makefile b/Makefile
index e88941d..8c85e5e 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
# to get fresh and ready to deploy .tbz2 and .zip archives
#
# Change THIS to change the version string encoded in the pak file
-VERSION_STRING = "pak128.Britain-Ex-0.9.2"
+#VERSION_STRING = "pak128.Britain-Ex-0.9.2"
#
#
#
@@ -156,12 +156,12 @@ $(DIRS256):
$(OUTSIDE):
        @echo "===> OUTSIDE with REVISION and grounds"
        @mkdir -p $(PAKDIR)
-       @$(MAKEOBJ) PAK128 $(PAKDIR)/ $@/ > /dev/null
-       @echo -e "Obj=ground\nName=Outside\ncopyright=$(VERSION_STRING)" >$@/outsiderev.dat
-       #@svnversion >>$@/outsiderev.dat
-       @echo -e "Image[0][0]=images/ls-water-outside-128.0.0\n-" >>$@/outsiderev.dat
-       @$(MAKEOBJ) PAK128 $(PAKDIR)/ $@/outsiderev.dat > /dev/null
-       @rm $@/outsiderev.dat
+       @$(MAKEOBJ) quiet PAK128 $(PAKDIR)/ $@/ > /dev/null
+#      @echo -e "Obj=ground\nName=Outside\ncopyright=$(VERSION_STRING)" >$@/outsiderev.dat
+#      @svnversion >>$@/outsiderev.dat
+#      @echo -e "Image[0][0]=images/ls-water-outside-128.0.0\n-" >>$@/outsiderev.dat
+#      @$(MAKEOBJ) PAK128 $(PAKDIR)/ $@/outsiderev.dat > /dev/null
+#      @rm $@/outsiderev.dat

clean:
        @echo "===> CLEAN"


Also duplicate met-class-e.dat renamed to met-class-e.not. To have consistent results. New files uploaded, server is up and running

Isaac Eiland-Hall

awww, hopefully it'll stay up longer next time :)

Junna

Also as I recall S:Ex (heh) is still bugged in that it will display paksets as mismatched even when they are not (they are the exact same). If you force a connection through net:address-to-server it should work though, if they are really the same.

Ves

#22
Tried again today, downloading a new pakset from the server and using a compile that matches, but it again tells me that a big bunch of objects differ, and that one object is missing on the server (RES_A_1950[]_01_28)
The stuff that is different all appears to be railway signs and signals.




How do you force the connection?
"net:server.exp.simutrans.com" returned that the server did not respond

edit: clarification

Vladki

Do you really have a clean pak directory? Isn't it mixed with some swedish paks?

jamespetts

It does look as though you have a different version of the pakset, as there is at least one item missing. Can you check that you have the up to date pakset from the half-heights branch?
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

It says this, but I know for a fact that it says this when they are the same (they are loaded from the exact same place). It simply says this regardless--usually signals, but not always.

How you force a load is you go into "load game" and type net: followed by the address (ip and dns both work).

Previously it would cause a lot of desynchs, but when they are actually the same, it should be fine (I did not have problems with it).

Ves

#26
I have now tried again to download a fresh pakset provided from the server webbsite linked earlier, and it gives me the same result.
However, using Junnas trick got me onto the server.

edit: no there is still something wrong. It disconnects me from the server directly. will download a snippet from the right commit on github and try further on that.

Junna

Why is there only a linux executable by the way? I can't make my own compile any more since it started giving some errors a few months ago.

jamespetts

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

Quote from: Junna on June 28, 2016, 08:13:19 PM
Why is there only a linux executable by the way? I can't make my own compile any more since it started giving some errors a few months ago.
Just because I do not have WIndows computer with compiler. If someone can provide fresh windows build, I'll gladly upload.

And here is a fix for the missing building - the weird char is "soft hyphen":


diff --git a/citybuildings/res-50.dat b/citybuildings/res-50.dat
index 1b4a3c7..6617f39 100644
--- a/citybuildings/res-50.dat
+++ b/citybuildings/res-50.dat
@@ -182,7 +182,7 @@ BackImage[3][0][0][1][0][1]=images/res/50-apartments2-1.2.3
BackImage[3][0][0][0][0][1]=images/res/50-apartments2-1.3.3
--
Obj=building
-Name=RES_A_1950<AD>_01_28
+Name=RES_A_1950_01_28
#Ugly Appartments set #2
copyright=Archon
type=RES

jamespetts

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 double checked - deleted my pak directory, downloaded zip, unzipped and connected to server without any problems.
Ves can you retry? - move away your current pak128.Britain-ex and any addons, unzip and try again.

Ves

Now I downloaded a snapshot of pak.britain with the correct git commit from github and compiled it using a makeobj, which is from the same git commit as the executable it self.
This generated fewer errors, but using Junnas trick, I got my self onto the server and this time it did not disconnect!
Now the game even remembers and it did not have to mismatch again to logon a second time.

Vladki, are you sure that the downloadable pakset from your server is the right one? Or could it have been compiled with an old makeobj or something?
Or is it something of me running windows 10 and you compiled on Linux?

edit: You posted the minute before me. im in! :)

Vladki

the pakset is compiled on linux, and is exactly the zipped pak128 used by the server itself

Junna

It's not related to the compile. This happens for me with my own pak on my own server, so it's totally unrelated to that. It's something code dependent somehow.

Ves, could you give me your new compile? I only have this old one you uploaded a month ago.

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.

Ves

(a quick sidenote: the swedish server appears to have crashed together with an "out of bound" note. Forgot to take notes on the information unfortunately. Would you be able to turn it on again?)

Vladki

Downloaded version is OK.

After make clean and make (again), I got differences only in Clyde cargo ship holds


Debug output from swedish server:


ERROR: rail_vehicle_t::activate_choose_signal():        could not reserved route after find_route!
For help with this error or to file a bug report please see the Simutrans forum:
http://forum.simutrans.com
FATAL ERROR: vector_tpl<T>::[] - 7koord3d: index out of bounds: 338 not in 0..214
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: 338 not in 0..214
Aborting program execution ...

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


Started again

jamespetts

Ahh, that might well be because I did not update the compiled version that I uploaded after fixing the cargo holds.
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

So finally, the server is up again, with british pak on standard port and swedish pak on 13355. The games are probably a bit older, and may need some rearrangements in convoys and signal.

Vladki

Experimantal server with british pak is restarted. James lease check the desync issues. I have noticed that there was a config change in sumconf.tab about frames/sec and server_frames_per_step. That may have gone unnoticed for a long time causing time sync issues, as I usually update only the binary and not the config files.

jamespetts

Quote from: Vladki on November 27, 2016, 01:50:46 PM
Experimantal server with british pak is restarted. James lease check the desync issues. I have noticed that there was a config change in sumconf.tab about frames/sec and server_frames_per_step. That may have gone unnoticed for a long time causing time sync issues, as I usually update only the binary and not the config files.

These things will not cause the Windows/Linux desync issues as these are settings transmitted from the server to the client. Thank you for updating, however.
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.exp.simutrans.com has been updated (both british and swedish instances)

Vladki

Sandbox servers at server.exp.simutrans.com are updated to latest commits. Evryone is welcome to test.

jamespetts

Excellent, thank you very much. I am working on getting the Bridgewater-Brunel server working, 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.