Skip to content
This repository has been archived by the owner on Oct 8, 2018. It is now read-only.

The goal with this project is to make a multiplayer server base that will allow connections from a variety of different devices and authentications and to allow parts to be made, added and/or removed in a modular fashion. This is currently starting with making a basic chat server and expanding on that.

License

Baza207/LHServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Little Hedgehog Server

The goal with this project is to make a multiplayer server base that will allow connections from a variety of different devices and authentications and to allow parts to be made, added and/or removed in a modular fashion. This is currently starting with making a basic chat server and expanding on that.

In the future the server will allow users to connect through different types of authentication, for example from a database (the current system), with Facebook, Twitter or GameCenter.

NOTE: This is currently in pre-alpha and not all features are implimented.

Current Features

  • Basic authentication of clients with database,
  • Sending messages from client to server,
  • Broadcasting group chat messages to all autenticated clients,
  • Broadcasting sever messages to clients.

Roadmap

Read the roadmap here!

Module Structure

Below is an initial plan for modules in LHServer. These are just ideas and will be under constant change (including additions).

For more details on each module, please refer to the Wiki

<td>Group</td>
<td>Private</td>

<td>Mac</td>
<td>Windows</td>
<td>iOS</td>
<td>Android</td>
<td>Etc</td>

<td>TBD</td>
LHSCore
Authentication Chat [Push Notifications](https://github.com/Baza207/LHServer/wiki/Apple-Push-Notifications) Game Server
Database Social (Fb, Twitter, etc)

A more detailed version will be coming soon to the Wiki.

Prerequisites

LHServer is written in Python with the following extra libraries:

  • MySQLdb
  • Twisted

Users are stored in a MySQL database, the structure of which is described below.

Database Structure

After creating a MySQL database, use the following to create the table structure:

CREATE TABLE `users` (
  `username` varchar(80) NOT NULL DEFAULT '',
  `password` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

At the moment users have to be created manually in the database. Passwords are stored as SHA1 by the client.

JSON Structure

Base structure

Keys

  • command - The command string to be processed of type <string>.
  • data - The data for the command of type <dictionary>.
  • status_code - Status for the success or failure of the call. -1 is failure, 1 is success and 0 means not needed.
{
  "command" : " ",
  "data" : { },
  "status_code" : 0
}

For more details please refer to the Wiki for JSON Structure.

Client Applications

Currently there are no publiacally avaliable client aplications.

License

LHServer is available under the MIT license. See the LICENSE file for more info.

Creator

James Barrow - Pig on a Hill
@PigonaHill

About

The goal with this project is to make a multiplayer server base that will allow connections from a variety of different devices and authentications and to allow parts to be made, added and/or removed in a modular fashion. This is currently starting with making a basic chat server and expanding on that.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published