Posts Tagged ‘feature’

Play Terminal Velocity (Terminal Reality) 3D shooter DOS game on Debian Squeeze GNU / Linux

Wednesday, February 15th, 2012

Terminal Velocity Game title logo dosbox Debian Linux

Some of the computer DOS geeks certainly should remember Terminal Velocity / (Terminal Reality Inc. – TRI) DOS 3D Realms (ex Apogee company) game. For those who are younger or for any reason miss to play TV here is a short review. Terminal Velocity is an addictive fast pace 3D Flight Simulator game.
The ship one navigates has a mean to accelerate or down-accelerate flying speed. There is also an AFTER BURNER mode which accelerates the ship movement speed drastically while in use. TRI's AFTER BURNER game feature create unique feeling whilst in game, raising gamers adrenaline and giving feeling of great dynamics 😉
The game graphics are a bit low, the game can be switched between VGA and SVGA from within the internal game menus, anyways for the year 1995 the game graphics looks fine.

Terminal Velocity TV DOS game screenshot

TV supports network games of up to 8 Network Players and for 1995 is among the few 3D games supporting so high number of network players simultaneously. As most of the games of its time TRI supports modem network game play. I don't know about you, but for me Modem Network game DooM peered plays brings up some nice memories 🙂

Every now and then in the levels, there are holes (Tunnels) you can enter, the tunnels is one of the most exciting part of the game as it reminds me tracking mods music culture, Future Crew's Second Reality graphics demo and the rest of the old glorious Assembly Demos – if not familiar with the aforementioned be sure to check the link cause you've missed a lot!

The ability to enter Tunnels while in the midst of the game makes TV unique and sets it apart from the rest of the games which were bombarding the 3D game flight simulator market in '95s.
Terminal Velocity DOS Level Tunnels screenshot
Terminal Velocity MINIMUM HARDWARE REQUIREMENTS are:

486 with 8 megs of memory.
For SVGA graphics (provided only by registered game version) require 486 DX4/100 or Pentium to display at acceptable frame rate.

Terminal Veolocity on Disk technical support manual

This requirements are nothing and even looks funny while compared to today's available hardware. Nowdays an Android ver. 2.2 OS running (PriVileg) mobile "smart" phone runs at at least 400 Mhz CPU and has a giga of memory.
Its quite interesting to see (from historic point of view) how thoroughful the TV Help manual is, and how well organized software documentation used to be in these old DOS days. If you want to take a look at it launch TVHELP.EXE (you will notice it along with other game .EXE files after extracting)

The game soundtrack is amazingly cool and is one of the main things that add to the great gaming experience.

It took me a while to find Terminal Velocity, as the game download link provided on 3drealms.com/downloads is broken and most of the websites with mirror of 3dtv12.zip file was no longer active.

After about half an hour of search!, I've finally found and managed to download 3dtv12.zip.
In order to preserve Terminal Violocity game from disappearing I've made a mirror of 3dtv12.zip you can download from here

Thanks to dosbox DOS Emulator , is playable on both GNU / Linux, FreeBSD, Mac OS and Windows.
I did not have the time to check if the game runs fine on other operating system architectures besides mine – a Debian GNU / Linux codename (Squeeze). On my aptop Thinkpad R61 with hardware configuration (Dual core x 1.8 Ghz with 2 GB of Memory), the game runs smoothly with both good playable graphics frame rate and properly timed sound/music.

For all those who want to play the game in the Linux realm, you will have to have earlier installed dosbox dos emulator. Once dosbox is there you can further proceed download / unzip / run and enjoy Terminal Velocity on your Linux Desktop:

1. Download and unzip 3dtv12.zip

hipo@linux:~$ mkdir TV
hipo@linux:~$ cd TV
hipo@linux:~/TV$ wget https://www.pc-freak.net/files/3dtv12.zip
hipo@linux:~/TV$ unzip 3dtv12.zip
Archive: 3dtv12.zip
� � ������ � � ����� ������ � ������ �����
� � � � � � � � � � �
�� �� �� �� ����� �� �� � �� �� � �� �
�� �� �� � �� � �� �� � �� �� � ��
������ �� ������ �� � �� �� � �� �� � �����

Running VADV 2.10 ���� ���� ������
� � � � � VirtualNet 1801001
4 Telnet nodes ����� ����� ������ FidoNet 1:311/2
VADV-PHP Website �� � �� � �� BattleNet 169:1/120
����� ����� �����

Telnet/web: lightningbbs.com
Alt: lightning-bbs.darktech.org

Full access on the first call. Simple, short and to the point newuser
questionaire. Over 50 door games online, all of them are registered.

Fun RPG games like LORD, Usurper, TEOS, Trade Wars, Clans, and Quest for Nora.

Strategic war games like BRE, FE, Global Wars, ISA, and Colonies.

Adult door games like Strip Poker, Bordello, Studs and Studette.
...

After unzip is complete you will have the following list of files and directories:

hipo@linux:~/TV$ ls -1
FILE_ID.DIZ
INSTALL.EXE
LICENSE.TXT
TV/
TV12S.SHR

As you can read in the unzip notice the .zip file was taken from Telnet/web: lightningbbs.com
I was happy to find out that lightningbbs.com BBS is still up and running in both web and telnet mode! I took the time to telnet to lightningbbs.com and it was charming. lightningbbs.com is a real place of "living computer history"! For people who have never experienced the days of BBS use, I warmly recommend you do telnet lightningbbs.com and check it out. Issue in console/terminal:

hipo@linux:~/TV$ telnet lightningbbs.com
��VADV32 v4.4.110325 - (c) 2004-2011 Aspect Technologies - www.vadvbbs.com
o NetFoss - Revision 5 FOSSIL - Com Eng v1.03 - (c) 2001-2010 pcmicro.com
Connected @ 11520 to Lightning BBS on line 3

Virtual Advanced 2.10 for DOS
Multi-User Multi-Network Graphical Bulletin Board System
Serial #99608791
...
...

2. Run and enjoy Terminal Velocity 😉

The game itself is extracted automatically in TV sub directory. To launch it directly enter TV/ and run GAME.EXE , e.g.

hipo@linux:~/TV$ cd TV/
hipo@linux:~/TV/TV$ dosbox GAME.EXE

Terminal Velocity Screenshot Debian GNU / Linux 6.0 Squeeze Dosbox dos emulator

Terminal Velocity game screenshot dosbox GNU / Linux

Running the game through the game launcher TV.EXE or GAME.EXE worked but the game sound was missing music and sound FX 😐
The no-music and sound issues were however pretty normal and expected. Back in the DOS era setting your exact Sound Card device type was required before the first game launch.
Configuring the exact screen resolution (EGA / VGA / SVGA) and Sound Blaster or PC Speaker type (Sound Blaster 16 / Sound Blaster Pro) in TV is done through running SETUP.EXE .
3D Realms Terminal Velocity Screenshot Level 5 Debian Linux Squeeze dosbox

Actually SETUP.EXE used to be like a standard for almost all DOS games I've encountered.

To make Terminal Velocity sound work I had to choose from SETUP.EXE main menu:
Sound Setup -> Sound Blaster 16
or
Sound Setup -> Sound Blaster Pro

Choosing any of the two SBs produces the same sound / music effects. I guess this is the case becase dosbox emulates a number of sound cards compatible with soudn blaster.
After choosing the SB you should select Save and Launch TV to run the game with sound.
Terminal Velocity TV, dosbox setup.exe sound blaster setup program screenshot

If you quit the game and try to relaunch it with dosbox GAME.EXE unfortunately runs the game without sound fx and music again. Hence the only way to make TRI run properly with music is to everytime configure sound blaster type with SETUP.EXE . TV also supports joystick and it was nice my Genius JoyPad worked like a charm with TV under dosbox emu 😉
To play the game in full screen mode with dosbox press ALT + ENTER simultaneously. 

An interesting fact which is not related to the game is Terminal Velocity is a physics term, here is a quite from Wikipedia:

"In fluid dynamics an object is moving at its terminal velocity if its speed is constant due to the restraining force exerted by the fluid through which it is moving."

On 3drealms.com, I've found also a collection of Terminal velocity mod musictvmods.zip. For the sake of preservation tvmods.zip from disappearance I've made a mirror of tvmods.zip on here

TV has also 20 cheat code words which can be typed in while playing the game for various goodies like Invisinbility, Shield Restore, Power up all weapons, skip level etc. Complete list of Terminal Velocity cheat codes is here
If you're an absolute TV addict and you want to set a TV screenshot on background Check the TV Planet 1024×768 Background resolution

TV has also a game editor, could be valuable if you want to make yourself some custom game levels here is a mirror you can download tvcad10.zip.
I've made also a quick research if someone in the Open Source / Free Software realm is not busy working on a fork of TV, but as of time of writting it seems there is no effort to make an "open source" Terminal Veolocity game. As TV is starting to disappear from the scene and 3DRealms are not existing for so many years now, it would be nice/wise if the company publish some of their prior games source. If they don't, so many great games (like TV)'s source code will be probably lost in max 10 / 15 years time.

We know 3DRealms release some of their source code for Duke Nukem 3D, I think it is now time to release source of TRI and the other old forgotten games.

A sysctl Linux variable to change randomly temporary the PC mac address for IPv6 and increase anonymity on IPv6 networks

Tuesday, September 20th, 2011

To prevent tracking and increase anonymity in IPv6 networks the Linux kernel has a variable to change randomly the MAC identifier. This feature will be very useful in terms of security in the short future, when all the IPv4 IP addresses are finished. The UIE (Extended Unified Udentifier) for an ipv6 address can be changed with command:

sysctl -w net.ipv6.conf.all.use_tempaddr=2 Microsoft Windows Vista and Windows 7 has the UIE enabled by default, enabling the random MAC changes automatically for a host cvan be done as usual by adding the net.ipv6.conf.all_use_tempaddr=2 to /etc/sysctl.conf

On an IPv6 network every ifconfig eth0 down and ifconfig eth0 up will instruct the lan card to be set a different MAC address for the ipv6 ip on the interface.

Changing the UIE randomly however also have security downsides if the host gets infected with a Virus or Worm. The security downsides of the enabled UIE affects mainly Windows hosts on IPv6 networks as UIE variable is enabled by default there.I’ve found this great tip in an article in the latest Linux Magazine October 2011. Its the first time I saw a paper Linux Magazine, the magazine contains a lot of helpful info on the latest Linux developments and latest trends in the Linux world. Subscription to receive the magazine via normal post is for the magazine costs 6.65 EUR per month (80 EUR) yearly. The 80 euro yearly includes 12 CDS (each magazine is bundled with a newly launched new version of a Linux distribution).
There is also a cheaper subscription for the magazine which costs 64.90 EUR.

How to clear Squid Proxy Cache on Debian and Ubuntu

Saturday, July 16th, 2011

Squid proxy cache clear logo

It was necessery to clean up some squid cache for some proxy users on a Debian host. Until now I’ve used to run only custom build Squid server on Slackware Linux.

Thus I was curious if Debian guys were smart enough to implement a proxy cache cleaning option as an option to be passed on to squid’s init script.

Honestly I was quite suprised squid clear cache option is not there;

squid-cache:~# /etc/init.d/squid3
Usage: /etc/init.d/squid3 {start|stop|reload|force-reload|restart}
squid-cache:/#

As it was not embedded into init script I still hoped, there might be some Debian way to do the proxy cache clearing, so I spend some 10 minutes checking online as well as checked in squid3‘s manual just to find there is no specific command or Debian accepted way to clean squid’s cache.

Since I couldn’t find any Debian specific, way I did it the old fashioned way 😉 (deleted directory/file structures in /var/spool/squid3/* and used squid’s -z option, to recreate the swap directories.

Here is how:

squid-cache:~# /etc/init.d/squid3 stop;
squid-cache:~# rm -Rf /var/spool/squid3/*;
squid-cache:~# squid3 -z; /etc/init.d/squid3 start

Finally I was quite amazed to realize, there was not even a crontab script to periodically clear and re-create proxy cache.

My previous experience with maintaning an office Squid proxy cache has prooved, that periodic cache clean ups are very helpful, especially to resolve issues with cached unreslovable DNS entries in the server.
Clearing up squid cache every week or something, guarantees that failure to resolve certain hosts at certain times would not stay unresolvable like forever 😉

In that manner of thougths, I decided to put the following crontab which will twice a month clear up proxy’s cache, to possibly solve some failed squid DNS issues.

squid-cache:~# crontab -u root -l > file;
echo '00 04 12,26 * * /etc/init.d/squid3 stop; rm -Rf /var/spool/squid3/*; squid3 -z; /etc/init.d/squid3 start >/dev/null 2>&1'
>> file; crontab file

By the way, implementing the squid clear cache in Debian and Ubuntu ‘s init scripts and putting a periodic proxy clear up cron, seems like a feature worthy to be proposed to the distro developers and hopefully be embbed in some of the upcoming distro releases 😉

Reboot Safely a frozen (hanged up) Linux Server with Magic SysRQ Key combination

Monday, June 20th, 2011

Linux Magic SysRQ Key picture

Being a remote system administrator for many years from now, I’ve experienced many times sudden Linux crashes, mostly caused by system hardware overloads.

This is a common thing especially on busy Web Servers with (Apache/MySQL). Situations like this are really messy and many times in order to bringt the server back online, one has to either physically go to the Data Center or contact the Technical support to request a server reboot.

In this terrible times, data loss might occur if the Server reset button is used to cold reboot it.

Happily in 99% of the cases the data loss which might occur could be prevented with Linux’s kernel capability to support the Magic SysRQ key !

Having the Magic SysRQ key functionality being supported in Linux in past times wasn’t that common, thanksfully these days this has changed andlmost every Linux distrubution supports this handy feature.

Now you might wonder what is the magic with those Magic SysRQ key ?

Let me explain, Magic SysRQ is a kernel level functionality which supports even completely crashed Linux systems with the horrifying:

Kernel Panic
message to be properly shutdown.

Using Magic SysRQ instead of the mostly used indiced cold reboots is really advantageous, as all the opened files by programs on the crashed server which hanged will be properly saved and closed and thus possible data loss caused by the sudden server crash will be minimized.

One other good thing about the Magic SysRQ Key keyboard combination is that initiating the Magic SysRQ could be made blindly (no need for server monitor or display to present any error messages on the failed server).

Now to check if the magic sysrq is enabled on a server one should issue the command:

Here are some Magic SysRQ keyboard combinations one can use in case of server failure:

ALT+SYSRQ+M to dump memory info;
ALT+SYSRQ+P to dump processes states;
ALT+SYSRQ+S to sync disks;
ALT+SYSRQ+U to unmount all mounted filesystems;
ALT+SYSRQ+E to terminate processes;
ALT+SYSRQ+I to kill all processes
ALT+SYSRQ+U to try to unmount once again;
ALT+SYSRQ+B to reboot.

I would skip to explain what each of the keyboard combinations will do as I believe the above description explains it well.

One classics of combinations one might want to issue on a failed Linux server supporting the Magic SysRQ would be:

ALT+SYSRQ+R
ALT+SYSRQ+E
ALT+SYSRQ+I
ALT+SYSRQ+S
ALT+SYSRQ+U
ALT+SYSRQ+B

The ALT+SYSRQ+REISUB key combination is very popular among system administrators.
Also Magic SysRQ is heavily used by kernel developers as it includes many handy debugging options.

If you try the Magic SysRQ key on older servers and you realize it doesn’t react you will have to recompile the linux kernel and enable the CONFIG_MAGIC_SYSRQ kernel time compilation option.

The Magic SysRQ can also be initiated remotely on a properly running server 😉 by initiating:

server:~# echo b > /proc/sysrq-trigger

This command would be useful if you want to just have fun and test that magic sysrq works on your system for sure 😉

To sum it up using the Magic SysRQ will guarantee your locked up, server a Safe Reboot and will hopefully save you a lot of time for backups recovery.

Recovering long lost website information (data) with wayback machine

Monday, May 9th, 2011

Wayback machine, see 2 years old website from cache service

I needed a handy way to recover some old data of an expired domain containing a website, with some really imprtant texts.
The domains has expired before one year and it was not renewed for the reason that it’s holder was not aware his website was gone. In the meantime somebody registered this domain as a way to generate ads profit from it the website was receiving about 500 to 1000 visitors per day.
Now I have the task to recover this website permanently lost from the internet data. I was not able to retrieve anything from the old domain name be contained via google cache, yahoo cache, bing etc.
It appears most of the search engines store a cached version of a crawled website for only 34 months. I’ve found also a search engine gigablast which was claimed to store crawled website data for 1 year, but unfortunately gigablast contained not any version of the website I was looking for.Luckily (thanks God) after a bit of head-banging there I found a website that helped me retrieve at least some parts from the old lost website.

The website which helped me is called WayBack Machine

The Wayback Machine , guys keeps website info snapshots of most of the domain names on the internet for a couple of years back, here is how wayback machine website describes its own provided services:

The Internet Archive's Wayback Machine puts the history of the World Wide Web at your fingertips.

Another handy feature wayback machine provides is checking out how certain websites looked like a couple of years before, let’s say you want to go back in the past and see how yahoo’s website looked like 2 years ago.

Just go to web.archive.org and type in yahoo and select a 2 years old website snapshot and enjoy 😉

It’s really funny how ridiculous many websites looked like just few years from now 😉

What is Xorg’s server DPMS module for? And how to use it to reduce your computer power consumption

Thursday, April 21st, 2011

As I’m manually configuring a Xserver via xorg.conf I have noticed a block of code in:

Section "Monitor"
Identified "Generic Monitor"
Option "DPMS"
EndSection
That triggered my curiousity to research further what is DPMS . A very quick google search revealed that DPMS’s purpose is to communicate to communicate between the monitor and the computer, to make the computer turn off the (CRT or LED) based monitor if the computer is not used

Thus in short to rephrase DPMS is a power saving handy Xorg feature. I many custom configured xorg.conf like the mine I’m building right now does not include DPMS as many people doesn’t have idea what DPMS is and how to enable it.

DPMS is also an interface to the Energy start power-saving capability if not all, most of the modern day monitor screens.

DPMS enables the Xserver to control automatically the computer screen and thus reduces the overall computer power consumption.

To enable the use of DPMS on my Linux, all I had to do is place a couple of configuration directives in my xorg.conf .:
Here is how I enabled DPMS in my Xorg server:

1. Edit with a text editor /etc/X11/xorg.conf

2. Find the Monitor Section , e.g.:

Section "Monitor"
....
EndSection

3. Add inside the Monitor Section Options "DPMS" "true"

4. Lookup for the ServeryLayout section , e.g.:

Section "ServerLayout"
...
EndSection

5. Place inside the ServerLayout section For instance the following options:

Option "StandbyTime" "20"
Option "SuspendTime" "10"
Option "OffTime "25"

You might like to change the options StandbyTime, SuspendTIme or OffTime to match your likings.
6. As a last step restart the Xorg server.

Press Ctrl+Alt+BackSpace or by issuing:

host:~# pkill -HUP X

Test that DPMS is loaded properly by reviewing /var/log/Xorg.0.log for example:

host:~# grep -i /var/log/Xorg.0.log
(II) Loading extensions DPMS