MC-Server on Raspberry Pi
#51
Hi, welcome to the forum Smile
Make sure you're running "make release=1" instead of plain "make", that way you'll get a much faster executable.
Also, before running the server, edit the world.ini (you may have to create one if not already present), you probably want to get rid of MarbleCaves and put in WormNestCaves instead. Have a look at the wiki for further details: http://www.mc-server.org/wiki/doku.php?i...:world.ini

CPU usage will be maxed out until the server finishes generating the initial spawn area, then it should drop into reasonable ranges.

Rev 918 should be compatible with 1.2.4, 1.2.5, 1.3.1 and 1.3.2 vanilla clients. Not the weekly snapshots in between, though.
Reply
Thanks given by:
#52
I am providing daily Raspberry PI builds which can be found at www.7ece.co.uk/mcs/
Reply
Thanks given by:
#53
Hello all, first post for me in this forum,
I've just compiled the last revision (r931), in my raspberry pi, which runs Arch, the compilation is successful with -fpermissive flag, even if the compilation process seems to throw errors (I'll soon post compilation logs).
No problems when launching the server, the map is correctly generated, but when someone dies, when he tries to resspawn, there is two possibilities, the first is the immediate crash of th server. the second possibility is an infinite map downloading for the client, and if the client closes the minecraft window, sometimes the server crashes, sometimes not. I wilkl also post the error throwed by the server when he crashes.
Thanks in advance.

Edit : You can find the compilation log attached, and here's the error throwed by the server :

[49956460|09:37:06] Assertion failed: m_Player == NULL, file source/ClientHandle.cpp, line 216
MCServer: source/ClientHandle.cpp:216: void cClientHandle::Authenticate(): Assertion `0' failed.


Attached Files
.zip   make.zip (Size: 9.86 KB / Downloads: 260)
Reply
Thanks given by:
#54
Thanks for the report, I'll have a look at it, if there's anything I can see Wink
The make log mostly shows warnings that are known - va_list mangling change (damned gcc, 0.3 versions later and still printing this useless garbage)
About the warnings in Squirrel and CryptoPP, there's not much we can do about it - those are libraries that we just downloaded and integrated, we don't know (nor want to know) how they work. So until things are fixed in those libraries by their authors, nothing can be done.

Player respawns aren't handled correctly, that is known, I'll try to fix that.
What happens is that the client sends a packet that is used for login sequence, and MCServer, as a response, tries to authenticate the user.
By the way, seeing that "Assertion failed" message from the server means that you have compiled it in a debug configuration, therefore it's quite slow. If you compile with "make release=1", the server won't print out these messages, but it'll run much faster.
Reply
Thanks given by:
#55
I know, I compiled a debug version spacialy to help you to find the bug, but the same thing happens with the release version that I use for real play.
So there isn't any link between the warnings throwed during compilation and the crash of the server ?

And, i've just seen that the cryptoPP bug is known, and he seems to be fixed (http://sourceforge.net/apps/trac/cryptopp/ticket/14), hope it can help you
Reply
Thanks given by: xoft
#56
Thanks for the CryptoPP fix link, I've applied it as rev 941

I think I've fixed the respawn crashes in rev 935, could you try compiling the newest sources and checking that?
Reply
Thanks given by:
#57
I've also applied the patch for cryptoPP, and it seems to work, but compilation isn't still finished. When it will I'll checkout and build the last rev.
Thanks for your work.
Nope, seems to do not pass compilation, i'll try with -fpermissive flag, here's the error :
Code:
In file included from squirrel_3_0_1_stable/squirrel/sqpcheader.h:16:0,
                 from squirrel_3_0_1_stable/squirrel/sqmem.cpp:4:
squirrel_3_0_1_stable/squirrel/sqobject.h: In member function 'void SQObjectPtr::Null()':
squirrel_3_0_1_stable/squirrel/sqobject.h:294:16: warning: converting to non-pointer type 'SQRawObjectVal {aka unsigned int}' from NULL [-Wconversion-null]
/usr/bin/g++ -s -O3 -DNDEBUG -c -I. -Isource -Isource/md5 -IWebServer -Isource/items -Isource/blocks -Itolua++-1.0.93/src/lib -Ilua-5.1.4/src -Izlib-1.2.7 -IiniFile -Itolua++-1.0.93/include -Ijsoncpp-src-0.5.0/include -Ijsoncpp-src-0.5.0/src/lib_json -Isquirrel_3_0_1_stable/include -Isquirrel_3_0_1_stable -Isquirrel_3_0_1_stable/sqrat squirrel_3_0_1_stable/squirrel/sqdebug.cpp -o build/release/squirrel_3_0_1_stable/squirrel/sqdebug.o
In file included from squirrel_3_0_1_stable/squirrel/sqpcheader.h:16:0,
                 from squirrel_3_0_1_stable/squirrel/sqdebug.cpp:4:
squirrel_3_0_1_stable/squirrel/sqobject.h: In member function 'void SQObjectPtr::Null()':
squirrel_3_0_1_stable/squirrel/sqobject.h:294:16: warning: converting to non-pointer type 'SQRawObjectVal {aka unsigned int}' from NULL [-Wconversion-null]
In file included from squirrel_3_0_1_stable/squirrel/sqobject.h:5:0,
                 from squirrel_3_0_1_stable/squirrel/sqpcheader.h:16,
                 from squirrel_3_0_1_stable/squirrel/sqdebug.cpp:4:
squirrel_3_0_1_stable/squirrel/squtils.h: In instantiation of 'sqvector<T>::~sqvector() [with T = int]':
squirrel_3_0_1_stable/squirrel/sqclosure.h:142:52:   required from here
squirrel_3_0_1_stable/squirrel/squtils.h:46:4: error: 'sq_vm_free' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from squirrel_3_0_1_stable/squirrel/sqpcheader.h:17:0,
                 from squirrel_3_0_1_stable/squirrel/sqdebug.cpp:4:
squirrel_3_0_1_stable/squirrel/sqstate.h:143:6: note: 'void sq_vm_free(void*, SQUnsignedInteger)' declared here, later in the translation unit
In file included from squirrel_3_0_1_stable/squirrel/sqobject.h:5:0,
                 from squirrel_3_0_1_stable/squirrel/sqpcheader.h:16,
                 from squirrel_3_0_1_stable/squirrel/sqdebug.cpp:4:
squirrel_3_0_1_stable/squirrel/squtils.h: In instantiation of 'void sqvector<T>::_realloc(SQUnsignedInteger) [with T = int; SQUnsignedInteger = unsigned int]':
squirrel_3_0_1_stable/squirrel/squtils.h:34:4:   required from 'void sqvector<T>::copy(const sqvector<T>&) [with T = int]'
squirrel_3_0_1_stable/squirrel/sqclosure.h:161:34:   required from here
squirrel_3_0_1_stable/squirrel/squtils.h:105:3: error: 'sq_vm_realloc' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from squirrel_3_0_1_stable/squirrel/sqpcheader.h:17:0,
                 from squirrel_3_0_1_stable/squirrel/sqdebug.cpp:4:
squirrel_3_0_1_stable/squirrel/sqstate.h:142:7: note: 'void* sq_vm_realloc(void*, SQUnsignedInteger, SQUnsignedInteger)' declared here, later in the translation unit
make: *** [build/release/squirrel_3_0_1_stable/squirrel/sqdebug.o] Error 1
Now it compiled with the -fpermissive flag, and the server don't crashes, Thanks !!
Reply
Thanks given by:
#58
Update:
All new Raspberry Pi's are now shipped with doubled RAM 256->512Mb
Reply
Thanks given by:
#59
Nice, that should be more than enough to run MCS Smile
Reply
Thanks given by:
#60
(10-07-2012, 07:17 PM)konfiot Wrote: Now it compiled with the -fpermissive flag, and the server don't crashes, Thanks !!


what did you install or do to get it to compile w/ it? as i get no rule to make permissive
Reply
Thanks given by:




Users browsing this thread: 5 Guest(s)