Skip to content

glew/tpserver-cpp

 
 

Repository files navigation

This is the server for Thousand Parsec.
More info at
http://www.thousandparsec.net/tp/

Requires a Unix-like environment, because it uses dynamic loading.
Tested under Linux.

REQUIRES (to build also requires the dev packages/headers)
========
pthreads (part of libc, standard)
libtprl 0.1.2 or later (replaces/uses readline) (www.thousandparsec.net/tp/) [GPL]
Boost 1.32.1 or later (www.boost.org) [Boost License]
Boost.Signals (as above)

OPTIONAL
========
libgnutls12 (common in latest distros, optional needed for secure sockets) [GPL]
Version 1.2.10 or higher.

mysql (www.mysql.com) [GPL]
MySQL is optional, but is needed for the mysql persistence backend. The client
side library is required.
 - note: see ./configure --help for options and env vars.

Avahi (avahi.org) [LGPL]
Version 0.6.0 or higher
Needed for zeroconf/mDNS support

OPTIONS (need one or the other)
=======
The configuration will try to locate these packages and will give an error if
neither is found. Both can be present and will be built.

mzscheme (www.plt-scheme.org) [LGPL]
 - note: you will probably need to pass the directory to the plt
   to configure, and it will generally be /usr/lib/plt (as in 
   debian), therefore, your configure command will be:
     ./configure --with-mzscheme=/usr/lib/plt
   You may also need to add the lib subdirectory to /etc/ld.so.conf
   and run ldconfig as root before tpserver-cpp will run.

Guile (www.gnu.org/software/guile/) [GPL]
Should be on most systems already.
Version 1.6 or higher.



SETTINGS/CONF FILE
==================
By default the settings are taken from
    /etc/tpserver-cpp/tpserver.conf
but this can be overridden by adding these command line args
    -C /dir/to/settingsfile.conf
or
    --configure /dir/to/settingsfile.conf
or
    --config_file /dir/to/settingsfile.conf
All settings can set on the console once the server is running.


SETTING UP SECURE SOCKETS
=========================
These instructions are for a self-signed certificate.

First, create private key (priv.pem):
certtool -p --outfile priv.pem

Second, create public (encrypting, tls web server?) self-signed cert 
(cert.pem):
certtool -s --load-privkey priv.pem --outfile cert.pem

In config or set on console:
x509_cert_file = cert.pem
x509_key_file = priv.pem
x509_tls = yes
tps = yes
https = yes
https_port = 8088 #or whatever


For certificates signed by a different authority, you will need the
certificate(s) of the signer and set x509_trust_file to point to that
file.

About

Thousand Parsec Server in C++, master repo for tpserver-cpp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.0%
  • C 23.8%
  • Other 0.2%