AA dedicated server for MIPS arch?
http://vmips.sourceforge.net/ i found this although getting that to work may require some elbow grease. good luck guys
Heh. Now that I'm in a debian-based distribution, maybe there's packages for the cross-compiler. I'll have to see. No promises, though, I'm really busy these days with school/work. 

Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN
Be the devil's own, Lucifer's my name.
- Iron Maiden
Be the devil's own, Lucifer's my name.
- Iron Maiden
Hmm, which one should I install?
Code: Select all
mips-elf-gcc cross/mips-elf-gcc @3.4.3 gcc cross-compilers for mips-elf, with newlib runtime library
mips-rtems-gcc cross/mips-rtems-gcc @3.2.3 gcc cross-compilers for mips-rtems, with newlib runtime library.
-
- Match Winner
- Posts: 641
- Joined: Sun Jul 10, 2005 9:14 am
armagetron dedicated runs on mips little and big endian. see http://packages.debian.org/unstable/gam ... ron-server .
on the grid as ~free::zombie~
bump. Check the armagetron linux thread for the t2 thing, turns out t2 has a wrt2 target. Is anybody still available for testing?
Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN
Be the devil's own, Lucifer's my name.
- Iron Maiden
Be the devil's own, Lucifer's my name.
- Iron Maiden
With my bandwidth upgrade, I got a new AVM Fritz!Box WLAN 3030. It's listed as theoretically supported. My old modem is still working fine, so that gives me some experimentation freedom and my geek pride has been activated. I'll try to get at least the master server running. Chances are slim, my model only seems to have 4 Mb of Flash, but I probably can't stand not giving it a try 

Progress report, mostly for myself for future reference. I found a German article series about how to upload custom software to my particular hardware that was helpful:
http://www.tecchannel.de/index.cfm?pid= ... 438995&p=1
So I tried to compile the game for OpenWRT. They've got a neat SDK. First, I built libxlm2 with the attached build rules (to be copied into <SDKPATH>/packages, then copied libxml2.a from the libxml2 build directory to <SDKPATH>/staging_dir_mipsel/lib to make our configure script happy and copied the includes into
<SDKPATH>/staging_dir_mipsel/include/libxml. xml2-config needed to be copied into
<SDKPATH>/staging_dir_mipsel/bin and adapted to the true installation paths, it told the caller to look in /usr/include.
Then, I used the attached configure script wrapper (or the attached configuration for <SDK>/packages, but it requires a special unofficial tarball) to build arma. A correction to a system header was required, <SDK>/staging_dir_mipsel/include/c++/3.4.4/mipsel-linux-uclibc/bits/ctype_base.h was missing
#include <bits/uClibc_touplow.h>
And our detection of the sinf/cosf etc functions in our configure script fails because they're inline in this architecture. The required adaptions are in branches/0.2.8.
Right now, I'm trying to prevent headers from my real system from getting included. They lead to cryptic error messages.
A couple of other fixes, rebuilds, and curses later, the build runs through and I end up with this:
Looks like I can rule running a real server out
Unless the filesystem compression is really good, after bzipping:
So there is a bit of hope left. Maybe if we add the option to throw out libxml2, things look better. But I don't know yet how much RAM my box has, so it's too early for even the master server victory dance.
I'll take a break from that now; It's taken too much time this weekend already.
http://www.tecchannel.de/index.cfm?pid= ... 438995&p=1
So I tried to compile the game for OpenWRT. They've got a neat SDK. First, I built libxlm2 with the attached build rules (to be copied into <SDKPATH>/packages, then copied libxml2.a from the libxml2 build directory to <SDKPATH>/staging_dir_mipsel/lib to make our configure script happy and copied the includes into
<SDKPATH>/staging_dir_mipsel/include/libxml. xml2-config needed to be copied into
<SDKPATH>/staging_dir_mipsel/bin and adapted to the true installation paths, it told the caller to look in /usr/include.
Then, I used the attached configure script wrapper (or the attached configuration for <SDK>/packages, but it requires a special unofficial tarball) to build arma. A correction to a system header was required, <SDK>/staging_dir_mipsel/include/c++/3.4.4/mipsel-linux-uclibc/bits/ctype_base.h was missing
#include <bits/uClibc_touplow.h>
And our detection of the sinf/cosf etc functions in our configure script fails because they're inline in this architecture. The required adaptions are in branches/0.2.8.
Right now, I'm trying to prevent headers from my real system from getting included. They lead to cryptic error messages.
A couple of other fixes, rebuilds, and curses later, the build runs through and I end up with this:
Code: Select all
manuel@gonzo ~/Tron/workspaces/liquid/wrt/src $ ls -l armagetronad_main*
-rwxr-xr-x 1 manuel users 4302204 Aug 6 16:14 armagetronad_main
-rwxr-xr-x 1 manuel users 962353 Aug 6 16:14 armagetronad_main_master

Code: Select all
-rwxr-xr-x 1 manuel users 1181853 Aug 6 16:14 armagetronad_main.bz2
-rwxr-xr-x 1 manuel users 234461 Aug 6 16:14 armagetronad_main_master.bz2
I'll take a break from that now; It's taken too much time this weekend already.
- Attachments
-
- configure.not.zip
- Configure call wrapper, adapt path to SDK and armagetron. Call from an empty directory.
- (1.27 KiB) Downloaded 224 times
-
- libxml2-wrt.tar.bz2
- Crude libxml build stuff, download probably will fail, you have to add the archive manually to /dl
- (1.26 KiB) Downloaded 242 times
-
- armagetronad-wrt.tar.bz2
- Crude armagetronad build stuff
- (1.27 KiB) Downloaded 215 times
Progress
OpenWRT seems to be too cumbersome to install on my particular hardware, so I'm moving to other approaches. There is the danisahne-mod that takes the original Fritz! firmware and modifies it. I got it installed no problem, a telnet daemon is running. After a bit of tweaking, I got the master server I previously compiled with OpenWRT to load and run without missing library complaints. It segfaults. I don't know yet whether that's because of the tight memory. The box has only 16 MB total (it seems), the system reports 14 MB total, I assume 2 MB go away to some ramdisk of sorts, and of that 14 MB, less than two are free in the default configuration. Killing the web interface and some other stuff I don't know the use of (must not be essential, otherwise I couldn't post this
) frees some more. It may become neccesary to strip the executable down a bit by removing configuration options and looking for stuff that gets linked in, but is in fact unused. The network object handling code is a prime candidate, the master only uses messages.


Seems to work
Some adaptions to the peculiarities seem to be needed still, and startup could be accelerated (most is parsing the configuration and spitting out error messages):
Plenty of memory is left, even with the master running:
/me puts on a geek crown and performs a silly walk victory dance.

Code: Select all
[2002/09/08 14:01:49] [0] Command MAX_SIMULATE_AHEAD unknown.
[2002/09/08 14:01:49] [0]
[2002/09/08 14:01:49] [0] Command PREDICT_WALLS unknown.
[2002/09/08 14:01:49] [0]
[2002/09/08 14:01:49] [0] Bound socket to *.*.*.*:2051.
[2002/09/08 14:01:49] [0] Bound socket to *.*.*.*:4533.
[2002/09/08 14:01:49] [0] Warning in tString tPath::GetWritePath(const char*) const in ../../../armagetronad/src/tools/tDirectories.cpp:752 :
[2002/09/08 14:01:49] [0] Could not create path to //.armagetronad-dedicated/var/master_list.srv. Check your user's rights.
[2002/09/08 14:01:49] [0] Warning in tString tPath::GetWritePath(const char*) const in ../../../armagetronad/src/tools/tDirectories.cpp:752 :
[2002/09/08 14:01:50] [0] Could not create path to //.armagetronad-dedicated/var/master_list.srv. Check your user's rights.
[2002/09/08 14:01:59] [0] Warning in tString tPath::GetWritePath(const char*) const in ../../../armagetronad/src/tools/tDirectories.cpp:752 :
[2002/09/08 14:01:59] [0] Could not create path to //.armagetronad-dedicated/var/master_list.srv. Check your user's rights.
[2002/09/08 14:04:25] [1] Received login from 192.168.0.3:1437 via socket *.*.*.*:4533.
[2002/09/08 14:04:25] [1] New user: 1
[2002/09/08 14:04:25] [1] Giving server info to user 1
[2002/09/08 14:04:25] [1] Killing user 1, ping .
Code: Select all
/ # free
total used free shared buffers
Mem: 14592 14040 552 0 1300
Z-Man wrote:Seems to workSome adaptions to the peculiarities seem to be needed still, and startup could be accelerated (most is parsing the configuration and spitting out error messages):
Plenty of memory is left, even with the master running:Code: Select all
[2002/09/08 14:01:49] [0] Command MAX_SIMULATE_AHEAD unknown. [2002/09/08 14:01:49] [0] [2002/09/08 14:01:49] [0] Command PREDICT_WALLS unknown. [2002/09/08 14:01:49] [0] [2002/09/08 14:01:49] [0] Bound socket to *.*.*.*:2051. [2002/09/08 14:01:49] [0] Bound socket to *.*.*.*:4533. [2002/09/08 14:01:49] [0] Warning in tString tPath::GetWritePath(const char*) const in ../../../armagetronad/src/tools/tDirectories.cpp:752 : [2002/09/08 14:01:49] [0] Could not create path to //.armagetronad-dedicated/var/master_list.srv. Check your user's rights. [2002/09/08 14:01:49] [0] Warning in tString tPath::GetWritePath(const char*) const in ../../../armagetronad/src/tools/tDirectories.cpp:752 : [2002/09/08 14:01:50] [0] Could not create path to //.armagetronad-dedicated/var/master_list.srv. Check your user's rights. [2002/09/08 14:01:59] [0] Warning in tString tPath::GetWritePath(const char*) const in ../../../armagetronad/src/tools/tDirectories.cpp:752 : [2002/09/08 14:01:59] [0] Could not create path to //.armagetronad-dedicated/var/master_list.srv. Check your user's rights. [2002/09/08 14:04:25] [1] Received login from 192.168.0.3:1437 via socket *.*.*.*:4533. [2002/09/08 14:04:25] [1] New user: 1 [2002/09/08 14:04:25] [1] Giving server info to user 1 [2002/09/08 14:04:25] [1] Killing user 1, ping .
/me puts on a geek crown and performs a silly walk victory dance.Code: Select all
/ # free total used free shared buffers Mem: 14592 14040 552 0 1300
Any chance u could make a brief guide on what u did. I'm really interested in possibly trying to get something like this to run on my ddwrt linksys setup.
You'll notice that was two years ago. IIRC, I did no code changes in arma itself, I just compiled it with the Danisahne mod after installing a C++ compiler there. After setting everything up, I just used the usual ./configure method of compilation.
The Danisahne mod is a special thing for Fritz! boxes, though. And I stopped because the whole thing is a bit futile, we won't get a more reliable master server that way: most network problems here are indeed caused by the Fritz! box itself and not the home server running my master server.
The Danisahne mod is a special thing for Fritz! boxes, though. And I stopped because the whole thing is a bit futile, we won't get a more reliable master server that way: most network problems here are indeed caused by the Fritz! box itself and not the home server running my master server.