Fun and Games Linux Game Servers
Joseph Guarino Owner/Sr. Consultant Evolutionary IT
www.evolutionaryit.com
Copyright © Evolutionary IT 2008 4
What is that!?
1. Something that brings us joy, laughter or amusement.
2. Something we need more of in our complex adult lives..
3. Video games!
Copyright © Evolutionary IT 2008 18
Objectives
● Demystify FOSS (Free and Open Source Software)
● Have some fun with FOSS and show you how you can build nearly ANYTHING with it. In particular a home game server.
● FOSS Security and Networking Options (UFW/Pfsense)
● Quick overview of FOSS Virtualization choices.
● 2 Example game setups
Copyright © Evolutionary IT 2008 19
Who am I?
● Joseph Guarino
● Working in IT for last 15 years: Systems, Network, Security Admin, Technical Marketing, Project Management, IT Management
● CEO/Sr. IT consultant with my own firm Evolutionary IT
● CISSP, LPIC, MCSE, PMP
● www.evolutionaryit.com
Copyright © Evolutionary IT 2008 20
?
How many of you are familiar with or use Linux or Free and Open Source Software in
some way?
Copyright © Evolutionary IT 2008 21
What is FOSS/FLOSS?
Free and Open Source Software Alternative term to describe software spectrum
from free to open. FLOSS or Free/Libre/Open-Source Software. Libre is used to clarify the ambiguity of the word
free in English.
What is FOSS?
● Represents a spectrum of licenses from Free to Open.
● FOSS (Free and Open Source Software) is a software licensing model that allows anyone the liberty to use, extend and distribute the software as they see fit.
● FOSS is unique as well in that it produces innovation quickly by the very concept of open, cooperative, collaborative efforts.
● Commercial software is much more restrictive.
Copyright © Evolutionary IT 2008 24
FOSS vs Commercial Software
Licensed with very specific rights associated with its use, modification, distribution and use that are not commonly available to a user via commercial “closed” software.
Software licenses of traditional commercial software define specific permission, rights and restrictions.
Licensee determines the license terms. Much more restrictive that FOSS. Freedom, sharing, collaboration are not inherit parts of
this traditional “closed” model which typifies the traditional software industry.
Copyright © Evolutionary IT 2008 25
What FOSS is NOT
● ≠ Freeware● ≠ Shareware● ≠ Public Domain Software● ≠ Malware, spyware, adware, badware
etc. Community standards general prohibit this.
Copyright © Evolutionary IT 2008 27
Many FOSS Licenses● There are many FOSS licenses
each which allow different rights and responsibilities
● Most popular are GNU General Public License, GNU Lesser General Public License, BSD License, Mozilla Public License, MIT License and the Apache License.
● OSI Licenses – OSI Software Definition http://opensource.org/licenses/
● FSF Licenses – Free Software Definition http://www.gnu.org/licenses/
Copyright © Evolutionary IT 2008 28
OSI● OSI – non-profit created in 1998
by Bruce Perens & Eric Raymond to promote “open source.”
● Open source was a repositioning of free software with a term that was to clear up the ambiguity seen in the term free.
● Attempt was to make free software provide a more business friendly effort.
● Uphold and promotes Open Source Definition.
● http://www.opensource.org/
Copyright © Evolutionary IT 2008 30
FUD is wrong
Fear, uncertainty and doubt (FUD) that FOSS is not unstable, untested, insecure
software. It's quite the opposite...
Copyright © Evolutionary IT 2008 32
FOSS FACTS
● FOSS IS everywhere!● Have you used that Internet?● > 50% of Webservers (Netcraft),
~65-70% DNS, >50%(ISC) Email Servers (Credentia/O'Reilly).
● It has been critical in the evolution of the Internet.
Copyright © Evolutionary IT 2008 33
FOSS FACTS
● Supercomputer – 75% of supercomputers run Linux. www.top500.org
● Rendering Farms – Dominates Disney/Pixar, Dreamworks, Sony, etc.
● SOHO – Linksys, Netgear, D-Link● Mobile Phones – Android, Openmoko● Even toys! LEGO Mindstorm NXT
Copyright © Evolutionary IT 2008 34
Who uses it?
● Redhat, Sun, Dell, IBM, HP, Novell, Oracle, Intel,Canonical are big players behind it.
● Business, government, military, educational and scientific community, i.e. NSA, FBI, CIA, NSF, NASA, Wall Street.
● Google, Yahoo, Adobe, Juniper.● I bet its on your corporate network, at home, in
your car or phone right now.
Copyright © Evolutionary IT 2008 36
FOSS Model works
● The FOSS model of cooperative, collaborative efforts yields amazing innovations but that hardly only applies to software.
● It has been applied in many other ways:
● Education – OLPC, MIT OpenCourseWare, Wikipedia, California Open Source Textbook
● Scientific – Boinc, Cambia, Human Genome Project, GenBank, Tropical Disease Initiative
Copyright © Evolutionary IT 2008 37
FOSS and Capitalism
● Some have mischaracterized FOSS as diametrically opposed to capitalism.
● Those suppositions show a fundamental lack of understanding of FOSS and its business model.
● FOSS thrives for many reasons.● Business involvement is one of them.
Copyright © Evolutionary IT 2008 38
Industry Projections
● Sales of open source software will grow from $1.8bn in 2006 to $5.8bn in 2011. Matt Lawton, program director for IDC's Open Source Software Business Models research program, typified the current market as "immature" and in the "early stages".
Copyright © Evolutionary IT 2008 40
OS's (Linux/Unix - Commercial)
● Linux/Unix Distros -● Redhat - www.redhat.com ● Novell - www.novell.com● Canonical – www.canonical.com● Sun – www.sun.com● Commercial support● All of these projects have a community
driven effort.
Copyright © Evolutionary IT 2008 41
OS's (Linux/Unix - Community)
● Debian Linux - www.debian.org● Slackware - www.slackware.com● Ubuntu - www.ubuntu.com● Gentoo - www.gentoo.org● Fedora - www.fedoraproject.org● OpenSUSE - www.opensuse.org● Open Solaris - www.opensolaris.org
Copyright © Evolutionary IT 2008 42
BSD's
● FreeBSD - www.freebsd.org
● OpenBSD - www.openbsd.org
● Both are community driven but community support is available.
● No single company drives projects.
● OpenBSD has stellar security history. Project is model of success of security in the Open Source world.
● Only 2 remote holes in the default install in 10 years!
● O'Bsd brought you OpenSSH, OpenBGPD, OpenNTP and OpenCVS.
Copyright © Evolutionary IT 2008 44
Our Game Server Network
We are building our example/demo network on...
Copyright © Evolutionary IT 2008 46
Ubuntu Server
● Ubuntu server is a very good choice for almost any application you can dream up.
● Open, flexible, scalable and secure.● Very supportable - support options are
supernumerary.● Landscape management suite.● Yes, Ubuntu rocks on the server as well!
Copyright © Evolutionary IT 2008 47
Ubuntu Server
● Based upon the long heritage of Debian GNU/Linux
● Characterized by six month release cycle● Suitable for nearly any enterprise need
from desktop to core infrastructure.● Web, Email, DNS, File Server, Database,
Routing, Firewall, etc.● Anything.
Copyright © Evolutionary IT 2008 48
Ubuntu Family
● Ubuntu – Core desktop effort.
● Kubuntu – Ubuntu but with KDE desktop environment.
● Edubuntu – Ubuntu with focus on educational space.
● Xubuntu – Ubuntu “light” with snappy Xfce with minimal hardware requirements.
● Ubuntu Server – Ubuntu core with server focus minus desktop, etc.
Copyright © Evolutionary IT 2008 49
Ubuntu Server Features
● Xen Virtualization, LTSP (Linux Terminal Server Project), VMWare Virtualization, KVM (Kernel based virtual machines).
● 500 maintained and supported packages and over 20,000 thousands other packages for every possible need.
● Red Hat Cluster Suite, Red Hat GFS, Oracle's OCFS2 File system.
● AppArmor security framework.
● Pre-configured install options for Mail Server, File Server, Print Server, Database Server, DNS, LAMP
● Support for x86, AMD64, and UltraSPARC T1 architectures.
Copyright © Evolutionary IT 2008 50
Ubuntu Package● Webserver – Apache, Aol server
● Mailserver – Postfix, Exim, Dovecot, Zimbra
● Proxy Server/Content Control – Squid, DansGuardian, SquidGuard, HAVP
● Database Server – MySQL, PostgreSQL, DB2
● DNS/DHCP – ISC Bind
● File Server – NFS, Samba
● Print Server - Cups
● Directory Server – OpenLdap, Fedora Directory Server
● Router - Quagga
● Firewall – Shorewall, Fwbuilder, Firestarter
● VPN – OpenVPN, SSL-Explorer, OpenSwan
Copyright © Evolutionary IT 2008 51
APT
● Advanced Packaging Tool is a package management tool.
● Handles the retrieval, configuration and installation of software packages.
● Automatic dependency checking and resolution.
● Relies on repositories which are central “stores” of available packages.
● Has a myriad of front-ends such as Aptitude, Synaptic, Adept.
Copyright © Evolutionary IT 2008 52
Repositories
● 4 Components – based on whether or not it supports Free Software Philosophy
● Main – Free software that gets security updates and its fully supported.
● Restricted – Not completely free & partially supported.
● Universe – Snapshot of FOSS world with most any application you can find in the open source world. Variety of licenses.
● Multiverse – Not free and not supported.
Copyright © Evolutionary IT 2008 53
APT Examples
● Note: root is disabled by default so sudo allows you to run commands with superuser privileges
● apt-get install packagename – installs software package
● apt-get remove packagename – removes package'
● apt-get update – updates list of software packages.
● apt-get upgrade – installs upgrades of all packages currently installed.
● apt-get dist-upgrade – upgrades to latest release.
Copyright © Evolutionary IT 2008 54
Don't fear the CLI
● Great Documentation - Ubuntu is extremely well documented online and in the publishing world.
● man – will pull up the manual pages and help you quite a bit.
● Ex. man man
Copyright © Evolutionary IT 2008 55
Ubuntu Support
● Commercial support is available from the Ubuntu Marketplace and Canonical.
● Ubuntu Forums● Ubuntu IRC● Ubuntu Mailing Lists● Ubuntu LoCo Teams
Copyright © Evolutionary IT 2008 57
Open Virtualization
● As with nearly every other space in the IT industry FOSS has a strong/compelling set of offerings.
● So if you want to reduce physical, power, cooling footprint.
● Virtualization does a good thing for your wallet AND the environment.
● It helps to not annoy your significant other, wife or roomies with racks of servers.
Copyright © Evolutionary IT 2008 58
Prevent Server Sprawl
1958 Physicist William Higinbotham's Tennis for Two game. Now thats a gaming rig!
Copyright © Evolutionary IT 2008 60
Open Virtualization
● Xen - http://www.xen.org/
● Virtual Box - http://www.virtualbox.org/
● QEMU - http://bellard.org/qemu/
● Linux KVM - (Kernel based Virtual Machine) - http://kvm.qumranet.com/kvmwiki
● OpenVZ - http://openvz.org/
Copyright © Evolutionary IT 2008 62
Networking
● There are supernumerary firewall/routing options in the FOSS world.
● PFSense - www.pfsense.org● IPCOP - www.ipcop.org● Untangle - www.untangle.com● OpenWrt - www.openwrt.org● DD-WRT - www.dd-wrt.com
Copyright © Evolutionary IT 2008 64
PFSense
● Based on Monowall
● Built on FreeBSD 6.1 with PF firewall from OpenBSD
● BSD License
● Live CD, Embedded, Hard Drive Install
● Simple web management GUI
● Can be built on i386, embedded, WRAP
● Wifi support a/b/g, WEP, WPA/WPA2
● Ipsec/PPTP/SSL VPN
Copyright © Evolutionary IT 2008 65
PFSense Cont.
● DNS, DHCP, Dynamic DNS support
● Traffic Shaping with ALTQ
● Multi WAN
● Load Balancing
● Fail over CARP
● Dozens of plug-ins to expand
● Commercial support available from dozens of vendors
● http://www.pfsense.org
Copyright © Evolutionary IT 2008 66
PFSense Hardware Requirements
● Hard drive installation
– CD-ROM for initial installation
– CPU - 100 MHz Pentium
– RAM - 128 MB
– 1 GB hard drive
– Supported NIC's
● Embedded
– 128 MB Compact Flash card
– Serial port for console
● PFSense Hardware Compatibility List
Copyright © Evolutionary IT 2008 67
Netgate
● Quality vendor of embedded systems with a focus on FOSS compatibility.
● Perfect for firewall, wireless, routing,etc.● Netgate M1n1wall firewall 3E/USB● www.netgate.com
Copyright © Evolutionary IT 2008 69
Um, Yeah
● Give your server a static IP.● Note the ports your server will use.● DHCP got you down? Use Dynamic DNS
such as DynDNS.● Dynamic DNS Providers
Copyright © Evolutionary IT 2008 70
Yeah! Please do!
● Patch your OS's and applications before you go live and with consistency there after. In your case join Ubuntu Security Announce Mailing List.
● Shut off/remove unneeded services or daemons. Thats easy on Ubuntu server. =)
● Enable and configure firewall, logging and even a HID framework if you like.
● Open ONLY the required ports.
Copyright © Evolutionary IT 2008 72
Interesting Quote
Video games are bad for you? That's what they said about rock and roll.
SHIGERU MIYAMOTO
Copyright © Evolutionary IT 2008 73
Interesting Quote
Video games are a waste of time for men with nothing else to do.
RAY BRADBURYSalon.com, Aug. 29, 2001
Copyright © Evolutionary IT 2008 74
Actually...
November 2005 Nielsen Active Gamer Study
A survey of 2,000 regular gamers, found that the U.S. games market is diversifying. The age group among male players has expanded
significantly into the 25-40 age group. For casual online puzzle-style and simple mobile cell phone games, the gender divide is more or less
equal between males and females. Females have been shown to be significantly attracted to playing certain online multi-user video games that offer a more communal experience, and small amount of young
females have been shown to play “aggressive” games that are sometimes thought of as being "traditionally male" games.
41% of PC gamers are women. - ESRB
Copyright © Evolutionary IT 2008 75
Industry Facts
● Most estimate nearly $10 billion market it the U.S. alone.
● According to NDP Group, Console and portable software sales: $6.2 billion, console and portable hardware and accessory sales: $3.7 billion, PC game sales: $1.1 billion in 2007.
● >100 million gamer worldwide as of 2005. Deutsche Bank Alex Brown.
Copyright © Evolutionary IT 2008 76
FOSS Gaming
A few key contributions relating to our highlighted games....
Copyright © Evolutionary IT 2008 77
id Software
● Founded 1991 by John Carmack (Lead Programmer), John Romero (Programmer), Tom Hall (Game Designer), Adrian Carmack (artist)
● Amazing powerhouse of innovation in the gaming industry. HUGE contribution to Open Source.
● Licensed its core engine (Keen, Wolfenstein, Doom, Quake, Quake II, Quake II) to other game producers.
Copyright © Evolutionary IT 2008 78
id Software
● John Carmack open sourced all major engines under GPL.
● Future releases will be made FOSS after 5 years.
● id spurred innovation in gaming and especially in the FOSS space.
● Thank you ID Software!
Copyright © Evolutionary IT 2008 79
ID's FOSS Engine Brethren
● ioquake3● http://en.wikipedia.org/wiki/Ioquake3● DarkPlaces● http://en.wikipedia.org/wiki/DarkPlaces
Copyright © Evolutionary IT 2008 82
Nexuiz
● Cool futuristic first-person shooter with single and multi-player modes.
● 9 weapons, 24 official maps and over 200 community maps.
● Very cool slick GUI. ● Think Quake or UT.
Copyright © Evolutionary IT 2008 83
Nexuiz
● Alientrap Software● GNU GPL (maps, models, everything)● DarkPlaces (modified Quake Engine)● Linux/Unix, OS X, MS Windows
Copyright © Evolutionary IT 2008 84
Nexuiz Setup/Config
● Unzip -d to where you want it. Usually sub directory of home directory is easiest.
● READ the readme file in Nexuiz/Docs/
● Copy Nexuiz/Docs/server/server_linux.sh into Nexuiz
● Copy Nexuiz/Docs/server/server.cfg into Nexuiz/data
● Change the variables below and comment out anything you don't want enabled.
Copyright © Evolutionary IT 2008 85
Nexuiz server.cfg
● hostname – will be the name of your server.
● sv_motd – your message or insult of the day.
● Maxplayers – max # of players.
● Port – the port you want the server to run on. UDP 26000 is the default Nexuiz server port.
● sv_public – set server to public or not.
● rcon_password – set if you want remote management password.
Copyright © Evolutionary IT 2008 86
RCON
● Rcon allows remote administration of the server.
● Pick a strong password. ● Can login while on your client connected
to the server or add rcon password to your client config.
● Rcon User Guide
Copyright © Evolutionary IT 2008 87
UFW
● Ubuntu's Uncomplicated Firewall.● Simple syntax. Can use service name in /
etc/services or PF syntax.● Man ufw. =P
Copyright © Evolutionary IT 2008 88
UFW for Nexuiz
● sudo ufw logging on
● sudo ufw default deny
● sudo ufw allow ssh/tcp
● sudo ufw allow 26000/udp
● sudo ufw allow 81/tcp
● sudo ufw enable
● sudo ufw status
Copyright © Evolutionary IT 2008 89
SSH Lockdown
● Don't open up SSH to the internet and choose a weak password!
● You may want to allow SSH from only 1 host on your LAN I.e.
● sudo ufw allow from 192.168.25.225 to 192.168.25.25 port 22
● Consider running on different port, locking external firewall to specific address/network of your “management node, Key based Auth, Denyhosts, Port knocking or Single Packet Auth.
● It might be better to VPN into your PFSense box and then SSH to your server.
Copyright © Evolutionary IT 2008 90
PFSense
● Setup Inbound NAT/Port Forwarding rules for the ports we need for the server to work. Assuming 2 interfaces (LAN/WAN).
● If you have 3 interfaces you can setup LAN/WAN/DMZ).
● 26000 and 81 in the case of Nexuiz.
Copyright © Evolutionary IT 2008 93
Custom Maps
● If you want custom maps you have to install a web or ftp server.
● We are going to install Lighthttpd
● Sudo apt-get install lighttpd
● Cd /etc/lighttpd
● Edit lighttpd.conf
● Put custom maps in /var/www and ~/games/Nexuiz/data
● /etc/init.d/lighttpd restart
Copyright © Evolutionary IT 2008 94
Custom Maps
● Make sure your maps are in /var/http and ~/games/Nexuiz/data
● Start up the Nexuiz server.
● ./server_linux.sh
● fs_rescan
● quit
● ./server_linux.sh
● > /dev/null 2>&1 - Standard Output = 1, Standard Error = 2
● On the Nexuiz console type maps
Copyright © Evolutionary IT 2008 95
Nexuiz Setup/Config
● Edit and customize server.cfg● Configure firewall UFW to open UDP
26000. Also open it on PFSense.● Once you locked down the network/server
you can fire up your server.● ./server_linux.sh &● Have some FUN!
Copyright © Evolutionary IT 2008 96
Nexuiz Support
● Nexuiz Website● Nexuiz Forum● Nexuiz FAQ● IRC - #nexuiz on irc.quakenet.org
Copyright © Evolutionary IT 2008 98
World of Padman
● Fun cartoon like first person shooter.● GNU/GPL● Originally a mod for Q3 Arena● Ioquake3 engine
Copyright © Evolutionary IT 2008 99
World of Padman
● No single player or CTF.● Tournament, Free For All,
Deathmatch,Spray for all, Big Balloon (Domination) and Last Man Standing.
● Great maps!● Very FUN!
Copyright © Evolutionary IT 2008 100
World of Padman
● Unzip -d to where you want it. Usually sub directory of home directory is easiest.
● Cd into /WoP/wop and edit the config file that corresponds to the server you want.
● In our case edit server-allgametypes.cfg● Change the variables below and comment
out anything you don't want enabled.
Copyright © Evolutionary IT 2008 101
World of Padman
● server-allgametypes.cfg
● set sv_hostname – to the hostname you want the server to have.
● set g_motd – set the message of the day.
● set sv_maxclients – max users.
● set bot_enable "1" – enable bots.
● set bot_minplayers – number of bots to add if no humans.
Copyright © Evolutionary IT 2008 102
World of Padman
● set g_gametype – gametype you want.
● set rconpassword – set to unique password if you need remote administration. Make sure to comment it out if your not using it.
● set sv_dlURL – place where your custom maps go.
● set sv_pure – set to pure server and reduce cheating.
Copyright © Evolutionary IT 2008 103
UFW for WoP
● sudo ufw logging on
● sudo ufw default deny
● sudo ufw allow ssh/tcp
● sudo ufw allow 27960/udp
● sudo ufw allow 81/tcp
● sudo ufw enable
● sudo ufw status
Copyright © Evolutionary IT 2008 104
PFSense
● Setup Inbound NAT/Port Forwarding rules for the ports we need for the server to work. Assuming 2 interfaces (LAN/WAN).
● If you have 3 interfaces you can setup LAN/WAN/DMZ).
● 27960 and 81 in the case of Nexuiz.
Copyright © Evolutionary IT 2008 107
WoP
● Fire it up!● ./wopded.x86_64 +exec server-
allgametypes.cfg > /dev/null 2>&1 &
Copyright © Evolutionary IT 2008 108
WoP Support
● www.worldofpadman.com● WoP Forums● WoP Wiki● WoP Server Guide● IRC #pamod on Quakenet
Copyright © Evolutionary IT 2008 109
Quote
I recently learned something quite interesting about video games. Many young people have developed incredible hand, eye, and brain coordination in playing these games. The air force believes these kids will be our outstanding pilots should they fly our jets.
Ronald ReaganAug. 8, 1983
Copyright © Evolutionary IT 2008 110
Gaming Benefits
● Next time your wife, girlfriend, significant other asks why you play games.
● Say you are improving your visual acuity, creative problem solving and attention skills.
Copyright © Evolutionary IT 2008 112
Game Links Galore
● Wikipedia List of Open Source Games● List of Open Source Games● Libre Game Wiki● Dmoz Directory - Open Source Games
Copyright © Evolutionary IT 2008 113
FOSS Game Sites
● www.linuxgames.com● www.tuxgames.com● www.liberatedgames.com● www.happypenguin.org
Copyright © Evolutionary IT 2008 114
Funny Game Links
● 50 Worst Game Titles Ever● 30 Dumbest Video Game Titles Ever● Some funny video games
Copyright © Evolutionary IT 2008 115
Video Game Science
● Video games improve spatial capacities● Video games improve visual attention skill● Video games improve spacial acuity● Grand Theft Childhood
Copyright © Evolutionary IT 2008 116
Thanks to..
● All the FOSS game programmers, graphic artists, animators, sound editors, etc. who make these great games possible.
● The entire FOSS community
● Nexuiz Team
● World of Padman Team
● Netgate, PFSense, DD-WRT and Ubuntu
● Boston Network Users Group