Up to Main Index Up to Journal for February, 2014 JOURNAL FOR FRIDAY 7TH FEBRUARY, 2014 ______________________________________________________________________________ SUBJECT: Q&A for WolfMUD Go server running on unrooted Nexus 7 DATE: Fri 7 Feb 23:12:36 GMT 2014 Well judging by my inbox yesterday's journal entry[1] was really popular and a lot of you had a lot of questions. So I thought I would put together a Q&A and answer as many questions at once as I can. Q: Why!? A: I don't know, just seemed like a good idea - don't you ever get bored and curious at the same time? :) Q: What other Android devices have you run WolfMUD on? A: I've had WolfMUD running on an old HTC Desire HD smartphone with the stock Android 2.3.5 - Gingerbread. This is a screen shot of it running: HTCDesireHD-WolfMUD.jpg Instead of using Google Drive to copy the files over I used a USB cable and mounted the SD card on my Linux desktop. Then I copied the files to /sdcard/download. Then I found out there was no 'cp' copy command and 'mv' move was weird and instead of moving the files seemed to be trying to hardlink them across file systems and failed. In the end I used cat! So step 5 become: cd /data/data/jackpal.androidterm/shared_prefs mkdir wolfmud cd wolfmud mkdir data cat /sdcard/download/server > server cat /sdcard/download/config.wrj > data/config.wrj cat /sdcard/download/zinara.wrj > data/zinara.wrj chmod 755 server Q: Why did you statically compile the server? A: Usually the server will dynamically link to a few libraries such as libc and libpthread. For the binary to run the ABI of the libraries and the ABI of the kernel must be compatible. Android has it's own custom libc called bionic and a custom pthread implementation. By statically linking the binary it has it's own copy/implementation of the libraries and only the ABI of the kernel needs to support the features the binary needs. Q: How many players can the Nexus 7 support? A: I'm not sure I didn't test :( I did however experiment with the HTC a bit - which is the older and slower of the two. The HTC can easily handle 512+1 players - 512 randomly wandering around bots and a real TELNET session - at once over the Wifi with no noticeable lag and the phone was still very responsive. When trying to run more I hit the 'too many files open' problem - ulimit was unlimited so I guess it's a kernel tunable but I didn't have the time then to look into it further. With the 512+1 players Android said it was using about 13Mb and Go said it had 2Mb allocated. Another screen shot: HTCDesireHD-WolfMUD-513Players.jpg Q: Does this have any real practical applications? A: I'm not sure. It's geeky and fun does that count? Basically you could write any type of program, utility or server to run on your Android tablet or phone. Q: It's all command line based, can it have graphics and a GUI? A: Well if you want it to have a native GUI you would have to use the native Android libraries. However Android has the normal local network interface on 127.0.0.1 and Go has excellent support for writing servers and generating HTML. So you could write a client/server type app and use a web browser to talk to the server locally and provide the interface. This also still keeps everything portable as well :) Q: What about battery usage? A: Bearing in mind it's an old phone, display was kept on while testing, Wifi running continuously with 512+1 players, airplane mode turned on to turn the radio off. It used up about 8% of a full charge over about 30 minutes. Q: Will ithis work for iOS? A: I have no idea, but doubt it. I'm not really an iThing fan. In fact I'm not really an Android developer - I just tinker, this just started off as a 'I wonder...' experiment. I am getting into Android stuff more and love working with ARM processors. Q: What's next? A: I have no idea. Maybe setup a co-processing cluster of a Nexus 7, HTC Desire and a 3Q 10" tablet? Maybe shanghai a Hudl[2] or two as well :) "Imagine a Beowulf cluster of these!" - as seen on Slashdot As before if you have any comments or questions feel free to drop me an email: diddymus@wolfmud.org -- Diddymus [1] See yesterday's entry: 6.html [2] A cheap £119 7" Tablet from Tesco that is actually surprisingly good for the money: 1.5 Ghz quad-core A9, 1Gb RAM, 16Gb internal flash, upto 48Gb Micro-SD, 7" 1440x900 screen, runs nearly stock Android Jelly Bean. Wikipedia Entry: https://en.wikipedia.org/wiki/Tesco_Hudl Up to Main Index Up to Journal for February, 2014