Skip to content

neslihe2/somun-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SOMUN: Open Source Game Server

Licence Java MongoDB

Somun Logo

SOMUN is a modular, open-source server software system written in Java, designed for developing and deploying online games. It provides core functionalities like network communication, user management, matchmaking, data storage, and gameplay mechanics. SOMUN aims to offer developers a flexible and efficient platform to build their online games without reinventing the wheel.

Somun means "nut of a bolt" in Turkish, and it is a metaphor for the core of a game server that holds everything together.

Features

  • Modular design: SOMUN consists of independent modules that can be easily integrated or extended to meet specific needs.
  • High performance: Optimized network communication and data management for handling large numbers of concurrent users.
  • Scalability: SOMUN can be deployed on various environments, from local development machines to cloud instances, scaling to accommodate growing player bases.
  • Open source: Freely available for use, modification, and contribution under the MIT license.
  • Community support: Encourages contributions and collaboration to enhance the platform and its capabilities.

Getting Started

  1. Prerequisites:

  2. Clone the repository:

    git clone https://github.com/deniza/somun-server.git
  3. Build the project:

    ./build.sh
  4. Configure MongoDB connection: Update the configuration file server.conf with your MongoDB connection details.

  5. Initialize the database:

    ./somun.sh setup
    
  6. Start the server:

    ./somun.sh run

Usage

A sample game client written in Java is included in the server distribution to showcase basic usage. You can find it in the server/samplegame directory. This game demonstrates turn-based multiplayer features and can be used as a starting point for building your own games.

Client Libraries

SOMUN provides following client libraries for different platforms:

Documentation

Detailed documentation for Somun Server is available in the docs directory of this repository. You can start with the Documentation Index for an overview and links to specific topics.

Contributing

SOMUN welcomes all forms of contributions from the community. This includes:

  • Bug fixes: Report and fix bugs encountered while using SOMUN.
  • Code improvements: Suggest and implement code enhancements to improve performance, maintainability, or functionality.
  • Refactorings: Improve code structure and readability.
  • New modules: Develop and integrate new modules to expand SOMUN's capabilities.
  • New sample games: Create and contribute new sample games to showcase different functionalities and inspire developers.
  • Documentation improvements: Enhance existing documentation or contribute new documentation for modules, features, and usage examples.

Please refer to the CONTRIBUTING.md file for detailed guidelines and contribution processes.

Main Contributors

Research Background

This project is developed as part of a research initiative at Odtü Teknokent. We aim to explore and advance the development of open-source server software for online games, focusing on modularity, scalability, and community collaboration.

Odtü Teknokent Logo

License

This project is licensed under the MIT license. See the LICENSE.txt file for details.

About

Game Socket Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.6%
  • Shell 0.4%