Introduction

Installation No snake

Timeline

Timeline is a power-packed, best open-sourced feature CPPS emulator-source available. It's written in Python 2.7, and heavily uses Twisted

This is a no-snake zone. Which insist you have brain, senses, and patience.

First, jump in and download Timeline source from GitHub.

UNIX - Linux, Ubuntu, Debain

Run the following command

sudo apt-get update

Now install git package

sudo apt-get install git

Now, create and move to a secure directory

mkdir -p /sources/timeline
cd /sources/timeline

The exciting part - download Timeline

git clone https://github.com/Times-0/Timeline.git
Get to know what you are doing!
apt-get update
It updates your local package-repository list, so you can install new one's with no broken banana!
mdkir -p
mkdir creates directories, the '-p' suffix creates directory only if it doesn't already exists! No need to peel a banana that's already nekd!
cd
Change current active directory to the one specified (Sometimes even banana feels shy)
git clone
Download a copy (clone) of latest version of Timeline in GitHub (Who said you cannot clone bananas? It just gets bigger and better, YUM!)
sudo
Run any command with administrative privileges. If you sudo a banana, it dances and wiggles and still hard
Windows & MacOS

For Windows and MacOS, it's pretty simple. Go and download latest Timeline .zip file from GitHub (Use the link below)

Timeline-GitHub

Now, extract the contents into an easily accessible directory (eg. Desktop)

That's done without breaking any eggs!
This docs assume Timeline is located on your Desktop, represented as Desktop

Now that you have timeline all ready, we need to install requiremnts for it so it can run without any hay-sle. (Yeah, run like a horse)

Install Python

UNIX - Linux, Ubuntu, Debain

Run the following command

sudo apt-get update

Install dependencies

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Now install Python

sudo apt-get install python2.7 python-pip

You are all done!

Windows & MacOS

For Windows and MacOS, it's pretty simple. Go and download Python2.7.15 installer from the link below

Python 2.7

Follow the instructions and install carefully.

Note: While instaling Python on windows, make sure you select Add python.exe to Path

It's now time to install the other main necessity - Nginx/Apache, MySQL/MariaDB, Redis

UNIX - Linux, Ubuntu, Debain

Run the following command

sudo apt-get update

Installing Nginx

sudo apt install nginx
sudo systemctl restart nginx
For a more detailed guide on installing Nginx on Ubuntu please visit here

Installing MariaDB

sudo apt install mariadb-server
sudo mysql_secure_installation
sudo systemctl restart mysql
For a more detailed guide on installing MariaDB on Ubuntu please visit here

Installing Redis

sudo apt install redis-server
sudo systemctl restart redis.service
For a more detailed guide on installing Redis on Ubuntu please visit here

You are just done! Wait till it's harvest time, get ready a reaper!

Windows & MacOS

For Windows and MacOS, you can install an application that combines MariaDB and Apache under one roof. Go and download XAMPP installer from the link below

XAMPP

Follow the instructions and install carefully.

Installing Redis

For MacOS, execute the following codes

brew update
brew install redis

For Windows, use the installer below

Redis - 64 bit Redis - 32 bit

Or

The last part, installing necesary Python modules. It's pretty consistent across multiple platforms. Use the command below to install python modules (use CMD/PowerShell for windows)

pip install lxml watchdog txredisapi twistar bcrypt numpy colorlog twisted mysql-connector-python firebase-admin google-api-python-client

Now the hard part, installing MySQL Connector for Python - MySQLdb module.

For Ubuntu, execute the following

sudo pip install MySQL-Python

For Windows, execute the following commands

cd Desktop/Timeline-master
In here, Desktop/Timeline-master is where you have Timeline downloaded.

Now try to install MySQL-Python

pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl
If that doesn't work, try this
pip install MySQL_python-1.2.5-cp27-none-win32.whl
Or

And I'd consider that gud enough. You can have your coffee now, now go ahead and setup Mediaserver

Usage No suicide

This is a suicide-free zone. You might wanna commit one, once you get irked of erros waiting to bash you off.

Before you try to run the server, you might wanna setup your database first. To setup your database, all you need to do is run DatabasePort.py file present in your Timeline folder. To do this, open your command console and, execute the following

cd Desktop/Timeline-master
In here, Desktop/Timeline-master is where you have Timeline downloaded.
python DatabasePort.py
If you are not porting/updating from old-version of Timeline (or) starting fresh, use old dataase name as test
If you are starting fresh (or) not porting, you will get error during executing Procedures, chill no suicides please, just exit the setup you will be fine.

Consider it done! Now you have created a database - let's call it Time-line, and you have a default test user to login
Username: test
Password: password


All that's left - Running the server

It's time to run this sweety, open you command console, and execute the following

cd Desktop/Timeline-master
python Start.py
In here, Desktop/Timeline-master is where you have Timeline downloaded.
Starting this the first time, if you get any error, just wait, close and run again. Yeah, this baby self heals, IDK how.

After executing the above, wait for sometime. If it's the first time you execute, and encounter some error, just close and run again.


In-case error persists, check for the following:

  1. Make sure Redis server is running
  2. Make sure MySQL server is running, and the MySQL credentials provided are valid
  3. Make sure you run Start.py with sudo on Ubuntu.
  4. Make sure no other application is listening/running at that Port 6112, 6113, 9875, 9876 (default)
  5. Make sure you followed the Installation section

Still having issues? Ping me on Discord, or pull an issue in the GitHub.

Tip - Ubuntu

You can put the server in background process, and make it run even after you close the session. Just use the following command

screen -S Timeline-Server python Start.py
If you get any error, it's because you don't have package. Just install it,

You can connect to it later, using the following command

screen -r Timeline-Server
Mediaserver
Introduction