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.
- 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.
Read the roadmap here!
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.
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.
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.
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 and0
means not needed.
{
"command" : " ",
"data" : { },
"status_code" : 0
}
For more details please refer to the Wiki for JSON Structure.
Currently there are no publiacally avaliable client aplications.
LHServer is available under the MIT license. See the LICENSE file for more info.