Menu

Tree [ce59aa] master /
 History

HTTPS access


File Date Author Commit
 build 2011-02-03 Manohar Vanga Manohar Vanga [28b39b] Added basic structure for slaves (config + netw...
 config 2011-02-06 Manohar Vanga Manohar Vanga [591543] Added message subscription functions. Added to ...
 core 2011-02-26 Manohar Vanga Manohar Vanga [91da4f] Added message encapsulation within message stru...
 docs 2011-02-06 Manohar Vanga Manohar Vanga [e01417] Added CLA to source code
 include 2011-02-26 Manohar Vanga Manohar Vanga [91da4f] Added message encapsulation within message stru...
 modules 2011-02-26 Manohar Vanga Manohar Vanga [d78d61] Added send_message function with internal and e...
 simple_client 2011-02-26 Manohar Vanga Manohar Vanga [ce59aa] Added license headers to simple_client files
 tools 2011-02-15 Manohar Vanga Manohar Vanga [9263c4] removed unused lxdialog files
 .config 2011-02-03 Manohar Vanga Manohar Vanga [a97266] Added ifdefs to separate master and slave netwo...
 CHANGELOG 2011-02-06 Manohar Vanga Manohar Vanga [64b87c] Added CHANGELOG, COPYING, CREDITS and README files
 COPYING 2011-02-06 Manohar Vanga Manohar Vanga [64b87c] Added CHANGELOG, COPYING, CREDITS and README files
 CREDITS 2011-02-06 Manohar Vanga Manohar Vanga [64b87c] Added CHANGELOG, COPYING, CREDITS and README files
 Iconfig 2011-02-01 Manohar Vanga Manohar Vanga [c82dc5] Small changes to iconfig. Moved env/ to build/
 Makefile 2011-02-12 Manohar Vanga Manohar Vanga [476425] Cleaned up memory leaks across code base. Valgr...
 README 2011-02-14 Manohar Vanga Manohar Vanga [78cbb1] Fixed some formatting in README file

Read Me

Ileor Server Framework


Summary:
========

This directory contains the source code for the Ileor Server Framework,
a server framework for the development and deployment of massively
multiplayer online games.

Some attention has been paid to make this software easily configurable
and extendable. The framework is made of a light and efficient core 
component which relies on dynamically loaded modules to do all the 
game logic. In this regard, it is similar to the concept of dynamically
loaded drivers in the Linux kernel. The build system has also been made
highly extensible by using a scheme similar to the KConfig files used
in the Linux kernel sources.


Status:
=======

The core is currently in a minimal working condition and works for the
most basic use cases. Currently it is lacking in extra functionality
in the core (eg. automatic timers, robust implementations etc.). Only
the basic hello module has been created at the moment.

In case of problems and bugs see the CHANGELOG and CREDITS files to 
find out who contributed to the specific feature and mail them with the
issue. You can also simply submit a report at the Ileor bug tracker [1].

[1] http://bugs.ileortech.com


Source Code:
=========================

The Ileor Server Framework source code is maintained the the git 
repository at [1]. You can also browse it online at [2]. 

The code in the repository is the latest development version and is not
recommended for production servers. For production servers you can 
download the latest stable release from the Ileor website.

[1] git://git.ileortech.com/ileor.git
[2] http://git.ileortech.com/?p=ileor.git
[3] http://www.ileortech.com


Directory Structure:
====================

/build                  Environment for running the server
  /conf                 Various configuration files used by Ileor
  /modules              The folder containing all modules to be loaded
/config                 Files required for building (eg. Makefiles)
/core                   The core components of Ileor
/include                Header files directory
  /ileor                Header files specific to the Ileor core
/modules                Source code for all modules
  /hello                Files for a simple hello world module
/tests                  Files containing unit tests for the Ileor core
/tools                  Various utilities used by Ileor
  /iconfig              Files for tool used to generate .config files


Software Configuration:
=======================

Configuration is done by running the 'iconfig' utility in 
'tools/iconfig'. In order to make it easier, there is a 'config' rule
in the Makefile. You can run the configuration utility using:

    $ make config

Follow the onscreen instructions and once you are done you should see a
new '.config' file in the root directory (run 'ls -a' to view hidden 
files). 


Compiling:
==========

You can compile the configured source using:

    $ make

This will generate a file called 'server' which can be run to start 
Ileor. It additionally requires an argument containing the path to the
configuration files. You can use the sample files provided in the source
distribution by running:

    $ ./server ./build/conf/

The server should start up the network and modules (the 'hello' module 
is set to be loaded by default in 'build/conf/modules.conf').

NOTE: You must compile the modules separately for now. In the future we
will have it so that the Makefiles compile the modules automatically
but for now you must go into each directory and compile the modules.

For example, you can compile the 'hello' module using:

    $ cd modules/hello
	$ make
	$ cd -

Now you can run the server and it will load the modules. The advantage of
having dynamically loaded modules is that the server does not need to be
restarted each time a module is upgraded. This allows for over-the-air
server upgrades without have to take the server offline.


Coding Standards:
=================

All contributions to the Ileor Server Framework should conform to the 
Linux kernel coding style; see the file "Documentation/CodingStyle" [1]
and the script "scripts/Lindent" [2] in the Linux kernel sources [3].

Please note that the Ileor Server Framework core is implemented entirely 
in C (modules may contain code from other programming languages). No C++
is used and C++ style comments (//) are NOT accepted. For comments, use
only the C-Style comments (/* */).

Please also stick to the following formatting rules:
- remove any trailing white space
- use TAB characters for indentation, not spaces
- make sure NOT to use DOS '\r\n' line feeds
- do not add more than 2 empty lines to source files
- do not add trailing empty lines to source files

Submissions which do not conform to the standards may be returned with
a request to reformat the changes.

[1] http://www.kernel.org/doc/Documentation/CodingStyle
[2] http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/scripts/Lindent
[3] http://www.kernel.org/


Contributing:
=============

If you wish to submit contributions to the Ileor Server Framework, you
may do so by sending patches to me at mvanga@ileortech.com. You are
also required to send me a physical copy of the Contributor License 
Agreement as outlined below.


Contributor License Agreement:
==============================

All references to 'Project' below refer to the Ileor Server Framework.
In order to clarify the intellectual property license granted with
Contributions from any person or entity, I (Manohar Vanga) as 
maintainer of the Project, must have a Contributor License Agreement 
(CLA) on file that has been signed by each Contributor, indicating
agreement to the license terms [1]. This license if for Your legal 
protection as a Contributor as well as the legal protection of the 
Project and its users; it does not change your rights to use your 
own Contributions for any other purpose.

[1] See file 'docs/CLA.pdf'


Contact:
========

You can contact us at:
	
    Project Web Page:
        http://www.ileortech.com

    Project Bug Tracker:
        http://bugs.ileortech.com

    Project Wiki:
        http://wiki.ileortech.com

    Project Code:
        http://git.ileortech.com

    Project Maintainer:
        Manohar Vanga <mvanga at ileortech dot com>

    Project Developers:
        Manohar Vanga <mvanga at ileortech dot com>
        Agastya Nanda <agastya at ileortech dot com>
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.