Skip to content
George Scott edited this page Sep 11, 2017 · 35 revisions

QServ Build Status GitHub release contributions welcome

QServ is smaller than all other Cube: 2 Sauerbraten server mods with GeoIP & zlib libraries included. It is meant to be super easy to download and install. An install can take less than a couple minutes. I'm always willing to help. Contact me for assistance.

Email: gscottmalibu@gmail.com, or contact DeathStar#2720 on discord.

Overview

QServ is a standalone server modification for Cube 2: Sauerbraten. It is completely compatible with Mac OSX and Linux. All of the server commands are written strictly in C++ 11 and C for compatibility and optimization, to update the code of the engine and remain mean, clean and capable. All of the commands are separated into a separate QCom.cpp file for optimization, ease of upgradability with Sauerbraten versioning, and organization. There is an advanced command handling system with little load on N_TEXT and the server. It is very simple to create your own command. Simply add a command in QCom.cpp and add it to the header QCom.h, QServ does the rest. The command handler has argument handling, safety checking, and much more. Tests have shown that QServ uses less than approximately 1% of your CPU. Also, there is absolutely no latency on home connections (0 ping). This is because the mod has stayed up to date with eihrul's latest changes to the Sauerbraten engine without causing bugs. The IRC bot can be enabled or disabled in the server-init.cfg with the ircignore command. Notable features are the smartbot IRC bot and #smartbot command which allow weather results by city, calculator results, dictionary results, translation, linking and much more. More notable features that set QServ apart from all of the other mods are its longshot and up close kill detection, its very small size, ease of use, and small memory usage. It is also highly customizable.

Instructional video on how to install QServ

Download

Github offers a zip (link below) or you can git clone the repository from the command line

Direct Download link: https://codeload.github.com/deathstar/QServCollect/zip/master

Command line: git clone https://github.com/deathstar/QServCollect.git (requires git): sudo apt-get install git-all or http://sourceforge.net/projects/git-osx-installer/ you can just download the zip from the website and place it on your web server if you do not wish to install git to use the command line code to download QServ.

Mac Users, simply download and run this installer to download and install QServ.

Requirements

MAC OSX

  • xCode: Go to the App Store and download "xCode," or visit: https://developer.apple.com/xcode/download/

  • Command Line tools: run: xcode-select --install from Terminal after xCode is installed

  • Cmake: download a binary release for Mac OSX from https://cmake.org/download/ or run: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; brew install cmake from Terminal

LINUX

  • Cmake: Download a binary release for Linux from [https://cmake.org/download/]((download a binary client)) or run sudo apt-get install cmake from Terminal
  • install Zlib from Terminal: sudo apt-get install zlib1g-dev
  • install compiler from Terminal: sudo apt-get install build-essential
  • update from Terminal: sudo apt-get update

WINDOWS

Configuration

  • Configure general attributes in server-init.cfg
  • Configure authkeys in users.cfg
  • Flagruns are stored in flagruns.cfg, use "chmod 777 flagruns.cfg" to enable saved flagruns
  • Maps are stored in packages/base, use "chmod 777 packages/base" to enable server-side map saving

Quick setup

  • download QServ from https://codeload.github.com/deathstar/QServCollect/zip/master
  • place the QServCollect folder on your Desktop
  • change directories into it: cd Desktop/QServCollect
  • Run the check make command: cmake .
  • Run the make command: make
  • Run the start server command: ./qserv or nohup ./qserv & for a background server
  • Press Control-C to stop, or use top then kill PID to kill a background server

Troubleshooting

"command not found: cmake .": cmake is not installed, see below

"make: *** No targets specified and no makefile found. Stop.": the cmake . command was not issued before make

"library not found GeoIP": GeoIP is not installed for some reason, download http://dev.maxmind.com/geoip/legacy/geolite/

"make: /usr/local/bin/cmake: Command not found Makefile:480: recipe for target 'cmake_check_build_system' failed make: *** [cmake_check_build_system] Error 127": install cmake

"No such file or directory": you are changing directories into an invalid folder, make sure QServCollect is the name

"Segmentation fault: 11" on launch: wait for IRC to start! Retry the launch (it will work the second time).

"Segmentation fault" at a random time after launch: contact DeathStar @ gscottmalibu@gmail.com

QServ IRC not working (incompatable client): Retry the launch (it will work the second time).

QServ IRC not launching at all (excess flood): you either restarted the server too much or flooded IRC, time will fix.

If you are experiencing issues with IRC, simply use the "ircignore 1" command in the server-init.cfg to disable it.

No such file or directory "GeoIP.h": geoIP come precompiled w/ dat, this means some GeoIP file is missing, most likely your download was corrupt.

CMAKE ERROR - CXX_DEFAULT_COMPILER NOT FOUND (no compiler set): sudo apt-get install build-essential

ZLIB (LIBRARY NOT FOUND): sudo apt-get install zlib1g-dev

Something not working the way it should?

You can’t perform that action at this time.