gLPU
Thank you for your interest in gLPU which is a fork of LPUniversity.
Introduction
gLPU runs on FluffOS and is a derivative of the original LPUniversity mudlib and features a number of improvements and systems. It is a work in progress and is not yet feature complete. And honestly, it isn't really intended to be.
Installation
You can
-
download the latest release from the releases page, or
-
clone it from the gLPU repository.
However you obtain it, you will need to compile the FluffOS driver and
configure your config.mud
file as described below.
These build instructions have been tested on Ubuntu 22.04 LTS running under WSL2 on Windows 11. However, if you feel as though your setup is significantly different to this, you can refer to the build instructions at FluffOS.info.
Preparation for building the driver
- Install the dependencies required to build the FluffOS driver:
sudo apt update
sudo apt install build-essential bison libmysqlclient-dev libpcre3-dev libpq-dev \
libsqlite3-dev libssl-dev libz-dev libjemalloc-dev libicu-dev
- Ensure that you have pip installed. If you do not have pip installed, you can install it with the following command:
- Then upgrade your cmake to the latest version:
Building the driver
While you can certainly get your own copy of the FluffOS driver and configure
and compile it using your own ingenuity, you may find it easier to use the
bash script provided as adm/dist/rebuild
.
This script makes a lot of assumptions and the most important one is that you
are running this script from adm/dist
.
Running this script does a number of things, and in order they are:
- Updates the FluffOS submodule to the latest version.
- Copies the
local_options
file to thefluffos
directory. - Runs
cmake
with a number of options. - Runs
make
to compile the driver. - When finished building, copies the binaries to the
adm/dist/bin
directory. - Copies the driver header files to the
include/driver
directory. - Resets the
fluffos
directory to the original state. - Updates
adm/dist/config.mud
with the absolute paths tomudlib directory
andlog directory
as required. - Prints pretry green success messages.
Configuration
To get things started, you really only need to configure 1 thing and another thing is optional, but you probably should do it anyway.
Edit the config.mud
file in the adm/dist
directory and set the following
values:
- Set the
external_port_1
to the port number that you want your game to listen on. - Set the
name
value to the name of your game.
As far as configuration goes, that's enough to get you going.
Running the game
To run the game, there is a bash script provided as adm/dist/run
. You can
run the script in one of two modes.
- Run the game in the foreground:
./run
- Run the game in the background:
./run bg
- If you run the game in the background, or, if like me, WSL2 sometimes goes
away but it doesn't take its running processes with it, you can use another
argument to find all processes running the driver and kill them:
./run stop
. This is a third bullet point, but stopping isn't... a mode? I don't know. I'm not a doctor.
You can also explore using other arguments with run
, but they won't work.
Logging in
Use your favourite MUD client or telnet client or whatever to connect to your
game on the port that you specified in the config.mud
file.
The first person to login to the game will become an admin. So, you know, be careful with that. (You don't really have to be careful, it's your game now, do what you want.)
License
I'll be frank with you. I don't really understand licensing. The original
license for LPUniversity is located in ARCHIVE/license
and applies to all
things that originated with LPUniversity. Anything customised after that, I
don't know. I don't actually care what you do with anything that was written
by @gesslar. I, being @gesslar, make that statement.
Come talk to us
Finally, if you love LPC and you want to talk about LPC, you are welcome to visit us and talk about LPC on our LPC Discord server.