Difference between revisions of "Private Server"
m (Updated the server mods section.) |
(Revised content) |
||
Line 1: | Line 1: | ||
[[Category:Private Server]] |
[[Category:Private Server]] |
||
− | [[Category:Stubs]] |
||
− | {{Stub}} |
||
− | = |
+ | == Overview == |
− | [[Category:Stubs]] |
||
− | {{Stub}} |
||
− | <br> |
||
− | The Screeps private server is a private server created by the devs and highly modifiable by the community.<br> |
||
+ | The Screeps private server is a distributed, standalone game server that allows you to launch your own game world on a local computer or dedicated server on the Internet. |
||
− | It consists of several segmented modules detailed below. And you can access their source codes at the bottom of this page.<br> |
||
− | The modules are as follows:<br> |
||
=== Launcher === |
=== Launcher === |
||
+ | |||
− | launcher launches the rest of the processes, and it includes the server control GUI.<br> |
||
+ | The server launch process consists of multiple parallel processes linked to each other. There are different types of launchers available: |
||
− | It is also an optional modules as any user can write their own launcher or launch modules manually.<br> |
||
+ | |||
− | Doing the latter gives far more control regarding the server operations.<br> |
||
+ | * '''GUI Launcher''': This launcher comes with the standard version of the game on Steam. It provides a GUI for managing the server, viewing server logs, and a CLI interface to control the server. However, it can be cumbersome to modify and update and is not the preferred way to manage a server. |
||
+ | |||
+ | * '''Console Launcher''': Allows launching the server from a command line without the GUI. Prerequisites include Node 10, Python 2, and build tools. |
||
+ | |||
+ | * '''Custom Launchers''': Users can create their own launchers to manage server processes. These are the preferred solutions for hosting a private server. |
||
+ | ** [https://github.com/screepers/screeps-launcher Screepers Launcher]: developed by the community to streamline the launch process and offer additional features for managing the private server. |
||
+ | ** [https://github.com/Jomik/screeps-server Jomik's Screeps Server]: which focuses on ease of use and simplicity. It leverages Docker to provide a containerized environment, simplifying deployment and management tasks for users. |
||
=== Storage === |
=== Storage === |
||
+ | |||
− | + | Contains a LokiJS-based database, a key-value storage, and a Pub/Sub mechanism. It stores game data, including map and player data. |
|
− | The rest of the processes connect to storage to exchange data.<br> |
||
− | It is where your servers game lives including map data, player data, etc...<br> |
||
=== Backend === |
=== Backend === |
||
+ | |||
− | backend contains an HTTP server accessed by clients and a CLI server for administration.<br> |
||
+ | Includes an HTTP server for client access and a CLI server for administration. Administrators can execute commands and interact with mods. |
||
− | This allows for server administrators to execute commands and also the primary way to interact with mods if they have an intractable element.<br> |
||
=== Engine === |
=== Engine === |
||
+ | |||
− | + | The game core responsible for executing game scripts and interacting with game world objects. |
|
=== Driver === |
=== Driver === |
||
+ | |||
− | driver is a link between the environment-independent engine (that is shared for the official server, standalone server, and in-browser simulation) and the immediate environment that hosts the game engine.<br> |
||
+ | Acts as a link between the environment-independent engine and the immediate hosting environment. Users can replace this module for customized data handling. |
||
− | You can replace this module with your own one, if you wish to use another method of storing and handling data.<br> |
||
=== Common === |
=== Common === |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | [[Private Server |
+ | * [[Private Server Installation|Installation]] |
⚫ | |||
− | |||
− | [[Public Private Servers|Public Servers]] |
+ | * [[Public Private Servers|Public Servers]] |
== Server mods == |
== Server mods == |
||
− | -Mods collection on github: https://github.com/ScreepsMods<br> |
||
− | -DeathTech's mods: https://github.com/DeathTech154/screepsMods<br> |
||
− | More to be added when more links get published.<br> |
||
− | <br> |
||
− | !Notice! <br> |
||
− | DeathTech's version of GCL to CPU made by iKlem is not the official one.<br> |
||
− | For the official version of GCLtoCPU please refer to iKlem's github page (or you can find it in the devs tracked repositories displayed above.)<br> |
||
− | Please use "https://github.com/ScreepsMods/screepsmod-gcltocpu" for gcltocpu. Unless you want deathtech's chronjob version.<br> |
||
+ | Screeps mods are a way to extend the functionality of the private server. Mods can add new features, change existing ones, or provide additional tools for managing the server. |
||
+ | |||
+ | * Collection of mods on GitHub: [https://github.com/ScreepsMods](https://github.com/ScreepsMods) |
||
== Source Code == |
== Source Code == |
||
{| |
{| |
||
− | | https:// |
+ | | https://github.com/screeps/screeps || Main Repo, mostly a meta-package and wrapper for other modules. |
|- |
|- |
||
− | | https:// |
+ | | https://github.com/screeps/launcher || Electron/CLI launcher. |
|- |
|- |
||
− | | https:// |
+ | | https://github.com/screeps/backend-local || Webserver/API module. |
|- |
|- |
||
− | | https:// |
+ | | https://github.com/screeps/engine || Core Engine, shared with public server. |
|- |
|- |
||
− | | https:// |
+ | | https://github.com/screeps/storage || Storage module, acts as a communications hub. |
|- |
|- |
||
− | | https:// |
+ | | https://github.com/screeps/common || Shared module for connecting to storage. |
|- |
|- |
||
− | | https:// |
+ | | https://github.com/screeps/driver || Engine driver. |
|} |
|} |
Revision as of 13:39, 21 April 2024
Overview
The Screeps private server is a distributed, standalone game server that allows you to launch your own game world on a local computer or dedicated server on the Internet.
Launcher
The server launch process consists of multiple parallel processes linked to each other. There are different types of launchers available:
- GUI Launcher: This launcher comes with the standard version of the game on Steam. It provides a GUI for managing the server, viewing server logs, and a CLI interface to control the server. However, it can be cumbersome to modify and update and is not the preferred way to manage a server.
- Console Launcher: Allows launching the server from a command line without the GUI. Prerequisites include Node 10, Python 2, and build tools.
- Custom Launchers: Users can create their own launchers to manage server processes. These are the preferred solutions for hosting a private server.
- Screepers Launcher: developed by the community to streamline the launch process and offer additional features for managing the private server.
- Jomik's Screeps Server: which focuses on ease of use and simplicity. It leverages Docker to provide a containerized environment, simplifying deployment and management tasks for users.
Storage
Contains a LokiJS-based database, a key-value storage, and a Pub/Sub mechanism. It stores game data, including map and player data.
Backend
Includes an HTTP server for client access and a CLI server for administration. Administrators can execute commands and interact with mods.
Engine
The game core responsible for executing game scripts and interacting with game world objects.
Driver
Acts as a link between the environment-independent engine and the immediate hosting environment. Users can replace this module for customized data handling.
Common
A shared code base with useful utilities.
Links
Server mods
Screeps mods are a way to extend the functionality of the private server. Mods can add new features, change existing ones, or provide additional tools for managing the server.
- Collection of mods on GitHub: [1](https://github.com/ScreepsMods)
Source Code
https://github.com/screeps/screeps | Main Repo, mostly a meta-package and wrapper for other modules. |
https://github.com/screeps/launcher | Electron/CLI launcher. |
https://github.com/screeps/backend-local | Webserver/API module. |
https://github.com/screeps/engine | Core Engine, shared with public server. |
https://github.com/screeps/storage | Storage module, acts as a communications hub. |
https://github.com/screeps/common | Shared module for connecting to storage. |
https://github.com/screeps/driver | Engine driver. |