Setup private server on PCDuino
I try to setup EQEmu on PCDuino, most of components could be compiled successfully; however, that is a problem on
- EQEmuLoginServer It seems that the following pre-compile libaraies do not support this platform libEQEmuAuthCrypto.a libcryptopp.a Could I get the source code to try? Thanks P.S. system message uname -a Linux pc-pcduino 3.4.29+ #1 PREEMPT Fri May 3 18:56:03 CST 2013 armv7l armv7l armv7l GNU/Linux |
I would just use the public login, I'm also not sure EQEmu has been tested on platforms that aren't x86 based, so it might not work well at all.
|
I'd guess it would probably work ok but be limited by the amount of memory available.
|
it is ok to limit by the amount of memory availabe, just try.
|
I don't think you're gonna get the encryption libraries compiled for PCDuino, just compile without the login server and use the public one. I doubt the server would work very well on the platform and might run into other issues since EQEmu was coded with x86/x86_64 in mind.
|
Quote:
|
Quick look, you will have to do something about StackWalker being included in CMake stuff since that has inline asm, although it looks like that isn't used on non-Windows platform, but I think its still compiled (my build folder includes Its object file at least)
|
All of the StackWalker code is ifdef'd out on anything other than Windows.
|
As long as it's little endian I don't see any significant hurdles to getting it to run on a specific architecture that's running Linux. Outside having to gather up all the dependencies that is.
I've been thinking of releasing the encryption for a while, as I think the current situation is silly. |
I was actually looking for this myself - I just saw this thread and it's exactly the issue I'm running into (I'm now for shits and giggles trying to get an EQEmulator server running on a NAS box, which is running wheezy. Everything goes fine until the moment the loginserver compiles, at which point the cryptopp makes it crap out).
Either the possibility to compile it for our own devices, or an ARM compiled version, would be very much appreciated. |
You could just run the login server on a different box or use the public login server and keep your server locked.
|
While technically true that I could run the loginserver from another device, if I can have the loginserver run or compile on said other device I might as well just run both there - after all, the loginserver itself does not take up that much power for one server, and if the EQServer is down it doesn't matter if the loginserver is too.
I'm trying to get it to connect to the public login at the moment, but I'm having a segment fault in the shared memory thing - I'm gonna mess around with this some more and get back to it later. |
Ideally it would be great if all the parts ran on the device, but right now they can't. It just seems that rather than let that stop you from trying to get the other 90% of the server working you just work around that small issue and move on to the rest.
Is the crash while generating the shared memory file or when it's trying to load it? How big is the file compared to the free memory on the device? |
It compiled fine, but I may have a database issue that I'm trying to get to the bottom of. It seems that since a while the peqdb is no longer easily wget-able, and loading it is being awkward.
But you're right, as long as there is a workaround (there are two, actually - eqemu login or on another machine) it isn't an "urgent" issue, just something that would make it easier for me. |
|
I saw that, but considering most of the linux boxes i toy with are headless, and therefore without any gui, I need to use command lines to download things. The subversion was easy to get, albeit a bit slow, but the googledocs page does not provide any proper links to use wget or any other downloader option. It makes downloading those a pain - I actually need to download it manually on my windows and upload it to my linux with scp :/
|
Download on desktop, FTP or some other way?
|
There's no available command line SVN client? I use it all the time on my linux boxes.
|
Quote:
eqemu@fl-pcduino:~/source/build/Bin$ free -m total used free shared buffers cached Mem: 812 446 365 0 24 231 -/+ buffers/cache: 190 621 Swap: 0 0 0 Maybe I need to check the memory file generated. |
If you tell me how to run PCDuino in QEMU, I might be able to get the LS crypto compiled for it.
|
Problem is found in shared_memory module, "Segmentation fault", in session of load
- Skill Cap - Spells I tried to debug the case and found that problem should occur in handling string 1) LoadSkillCaps - no problem is found when I do not use the subroutine MakeAnyLenString 2) LoadSpells - this trick does not work, segmentation fault still return when RunQuery handling the input SQL When compiling the software, warning is found /media/SDCARD/home/eqemu/source/Server/common/debug.h:107:7: note: the mangling of ‘va_list’ has changed in GCC 4.4 Will it cause any problem? (search from web, it seems that is a warning only) |
It seems that that is a hint
Old: if(RunQuery(query, MakeAnyLenString(&query, "SELECT * FROM spells_new ORDER BY id ASC"), errbuf, &result)) { safe_delete_array(query); -> It is found that value of variable "query" was corrupted After changing the code into uint32 length = MakeAnyLenString(&query, "SELECT * FROM spells_new ORDER BY id ASC"); if(RunQuery(query, length, errbuf, &result)) { The problem is solved. Is there any option in compiler will cause this problem? How could I check the compiler options and version? I think that I am using gcc 4.6.3 eqemu@fl-pcduino:~/source/build$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf Thread model: posix gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) |
All times are GMT -4. The time now is 09:44 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.