Re: ShowEQ and Raspberry Pi
Testing with: showeq-5.2.5.0
To prevent buffer overflow had to edit: ~/conf/zoneopcodes.xml
<!-- crashes if this opcode is left in with a buffer overflow in a sprintf
<opcode id="5ecd" name="OP_ExpUpdate" updated="12/07/05">
<comment>old ExpUpdateCode</comment>
<payload dir="server" typename="expUpdateStruct" sizechecktype="match"/>
</opcode>
-->
To match up structures for p1999 had to edit everquest.h:
struct newZoneStruct
{
/*0000*/ char name[64]; // Character name
... cut ...
/*0616*/ uint8_t unknown0616[84]; // fix
/*0700*/ // fix
/*0616*/ //uint8_t unknown0616[172]; // *** Placeholder
/*0788*/ //uint8_t unknown0788[4]; // *** Placeholder (06/29/2005)
/*0792*/ //uint8_t unknown0792[4]; // *** Placeholder (09/13/2005)
}; /*0796*/
^^^ 700 byte payload in P1999
struct charProfileStruct
{
/*00000*/ uint32_t checksum; //
... cut ...
/*19588*/ uint32_t showhelm; // 0=no, 1=yes
/*19592*/ // uint8_t unknown19592[4]; // ***Placeholder (10/27/2005)
/*19596*/ // uint32_t unknown19596; // *** Placeholder
/*19600*/
};
^^^^ 19592 byte payload in P1999
It works fine on the Odroid-c2, performance was very good. There is still a crash when I cast a spell on a mob
but for the purposes of testing a 64-bit ARM board as a cheap showeq server with 4k monitor support it worked great.
Re: ShowEQ and Raspberry Pi
On the Odroid-C2 I did note some messages like this:
Warning: SEQ: Giving up on finding arq 0186 in stream zone-client cache, skipping!
Warning: SEQ: Giving up on finding arq 01b1 in stream zone-client cache, skipping!
Warning: SEQ: Giving up on finding arq 01b2 in stream zone-client cache, skipping!
The fix I did was to edit /etc/sysctl.conf and add the following (sysctl -p afterwards to load)
net.core.rmem_default=524288
net.core.rmem_max=2097152
net.core.netdev_max_backlog=3000
(note: you could probably also just do real-time network thread)
====== spell cast crash
When casting upon a mob the crash happens here:
Thread 1 "showeq" received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/aarch64/strlen.S:92
92 ../sysdeps/aarch64/strlen.S: No such file or directory.
(gdb) bt
#0 strlen () at ../sysdeps/aarch64/strlen.S:92
#1 0x0000007fb7cf5254 in QString::fromUtf8(char const*, int) () from /usr/local/qt/lib/libqt-mt.so.3
#2 0x00000000004de128 in EQStr::formatMessage (this=0x65a3e0, formatid=<optimized out>,
arguments=0x7fffffc2f5 "\331\065+\003\nP`\270\371\340\227\363;ټC),\f\f\02 2\f\234\f\201\322Y e`\341\330\324CL\ac\216\262Ŋ", argsLen=18446744073709551608) at eqstr.cpp:165
#3 0x00000000004ea69c in MessageShell::formattedMessage (this=this@entry=0x6e2750, data=<optimized out>,
len=<optimized out>, dir=<optimized out>) at messageshell.cpp:177
To fix it: edit messageshell.cpp (add the return and it will ignore channel messages)
void MessageShell::formattedMessage(const uint8_t* data, size_t len, uint8_t dir)
{
return; // hack fix
// avoid client chatter and do nothing if not viewing channel messages
if (dir == DIR_Client)
return;
====== Opcode changes:
There appear to be some opcode changes in p1999 from the last working copy of seq. There are no mob position updates as that opcode appears to have changed. There are few others too such as this one:
Warning: OP_GroundSpawn (0x3bc2) (dataLen: 8) doesn't match: sizeof(makeDropStruct):92
====== Notes: I was more interested in checking the Odroid-C2's performance than fixing SEQ on P1999. With minor tuning the C2 appears to keep up with the network traffic and do screen updates of your character movements on the map.
I cannot check yet how it would perform at 4k monitor resolution with 100's of mob movement updates.
Perhaps with the fixes I noted to keep it from crashing someone can look at the opcode changes.
Re: ShowEQ and Raspberry Pi
I went ahead and bit the bullet and downloaded the live game onto a computer and tested the latest showeq (using live servers not P1999) on the Odroid-C2 with full zone spawns. The Odroid-C2 keeps up fine at 4k monitor resolution (42" 4k monitor 30hz), it only started to bog down a bit when I turned full logging on, but that was just to test if it could still keep up while logging to the SD card.
Re: ShowEQ and Raspberry Pi
Thanks in advance for any input.
Re: ShowEQ and Raspberry Pi
Hello all, been trying to get this running on my pi3, and have gotten stuck.
When I try to "apt-get install qt3-dev-tools" Raspbian was unable to locate this package. This causes my ./configure to fail as it can't find Qt devel.
I guess qt3 this is too old and maybe no longer in the library? I found a tar.gz archive of old QT versions, but i'm not sure i'm up to the task of manually installing. Anyone else run into this or have any sugestions of how to get qt3-dev-tools installed on raspbian?
Re: ShowEQ and Raspberry Pi
Sigur make sure you run wheezy for ShowEQ. I dont think it will work on newer ones. It does support pi3
https://downloads.raspberrypi.org/ra...an-2015-05-07/
Re: ShowEQ and Raspberry Pi
Thanks, I'll give that a try. I was using the latest version of Raspbian. I tried a the latest wheezy image from the archives and it wouldn't boot on my pi3. Seemed like it was the wrong kernal or something, I just assumed maybe Wheezy wouldn't work on the newer pi3, good to know that it does.. I'll give the images you linked a try and see how it goes.
Re: ShowEQ and Raspberry Pi
This is from SF.
"Raspbian wheezy compatible with Pi Zero & Pi 3
This is just an untouched image from:
https://downloads.raspberrypi.org/ra...an-2015-05-07/
updated with:
sudo apt-get upgrade && sudo apt-get update
so that it will boot on the Pi Zero and Pi 3
Requires 4GB SD card minimum.
Login: pi / raspberry
use "sudo raspi-config" if you want to set it to auto login to desktop...."
It should work. It shows it is compatible.
Re: ShowEQ and Raspberry Pi
Actually after I read further, this might be my case.
"Wheezy will support the Pi-3 if it's firmware is first fully updated in an older pi with:
sudo apt-get update && sudo apt-get upgrade
then remove the SD card and put it in a Pi-3 and it will boot fine."
I do have it working in pi3 but I did have it on Pi2 first. I took it out and moved it to my pi3 and it worked. My fault. Sorry. I didn't realize it.
I will see if I can find a pi2 and update wheezy and maybe attach it here. I am not sure I even have a pi2 anymore but I will look.
Re: ShowEQ and Raspberry Pi
Interesting. This is the one I tried that did not boot https://downloads.raspberrypi.org/ra...eezy-raspbian/. Looks like it was an older version. I just picked the newest one with wheezy in the folder name and didn't notice that many of the newer ones like what you linked were also wheezy builds. I can give it a try just to check when I get a chance. I would be curious if anyone has found a build that works, that can be installed directly on pi3 without the firmware update in the older pi. I guess the solution is clear if you are in possession of an older pi for the firmware update, but I am not. Not critical for me, I can carry on with old shuttle PC and Centos, but it just seemed like a fun project to get it working on the pi for a small efficient footprint.
Re: ShowEQ and Raspberry Pi
I believe I have my pi2. I think I found it. If it is, I will make an image that is updated for the pi3. Ill probably put it on Mega.nz. I am off so I will see what I can do/figure out.
Re: ShowEQ and Raspberry Pi
Actually I looked and found that my Pi3 is running Jessie. I will experiment to see what needs to be done.
Re: ShowEQ and Raspberry Pi
Ok well I haven’t tried a Jessie build. Stretch couldn’t find qt3-dev-tools and Wheezy wouldn’t boot. Looks like Jessie 2016-02-26 is first release to support pi3 out of the box so if it can install qt3 dev tools that might be the answer. I will confirm when I have a chance to try it.
Re: ShowEQ and Raspberry Pi
I did the last Jessie and it seems to be fine so far. Only thing that so far it couldn't find is aclocal but after reading, it is already included when you install automake (I havent verified, but forums say that).
Edit: Everything compiled fine with Jessie. No issues. Looks like Jessie is the way to go on a Pi3.
Re: ShowEQ and Raspberry Pi
Awesome. Thanks for the help. Been distracted with RL but will give it a go when I get a chance.