Difference between revisions of "Private Server"

From Screeps Wiki
Jump to navigation Jump to search
(Finalization of cleaning up the page and adding some info.)
Line 8: Line 8:
 
<br>
 
<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 private server created by the devs and highly modifiable by the community.<br>
  +
<br>
 
 
It consists of several segmented modules detailed below. And you can access their source codes at the bottom of this page.<br>
 
It consists of several segmented modules detailed below. And you can access their source codes at the bottom of this page.<br>
<br>
 
 
The modules are as follows:<br>
 
The modules are as follows:<br>
  +
<br>
 
 
=== Launcher ===
 
=== Launcher ===
 
launcher launches the rest of the processes, and it includes the server control GUI.<br>
 
launcher launches the rest of the processes, and it includes the server control GUI.<br>
 
It is also an optional modules as any user can write their own launcher or launch modules manually.<br>
 
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>
 
Doing the latter gives far more control regarding the server operations.<br>
  +
<br>
 
 
=== Storage ===
 
=== Storage ===
 
storage contains a LokiJS-based database, a key-value storage, and a Pub/Sub mechanism.<br>
 
storage contains a LokiJS-based database, a key-value storage, and a Pub/Sub mechanism.<br>
 
The rest of the processes connect to storage to exchange data.<br>
 
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>
 
It is where your servers game lives including map data, player data, etc...<br>
  +
<br>
 
 
=== Backend ===
 
=== Backend ===
 
backend contains an HTTP server accessed by clients and a CLI server for administration.<br>
 
backend contains an HTTP server accessed by clients and a CLI server for administration.<br>
 
This allows for server administrators to execute commands and also the primary way to interact with mods if they have an intractable element.<br>
 
This allows for server administrators to execute commands and also the primary way to interact with mods if they have an intractable element.<br>
  +
<br>
 
 
=== Engine ===
 
=== Engine ===
 
engine is the game core. It executes game scripts and interacts with game world objects.<br>
 
engine is the game core. It executes game scripts and interacts with game world objects.<br>
  +
<br>
 
 
=== 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>
 
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>
 
You can replace this module with your own one, if you wish to use another method of storing and handling data.<br>
 
You can replace this module with your own one, if you wish to use another method of storing and handling data.<br>
  +
<br>
 
 
=== Common ===
 
=== Common ===
 
common is a shared code base with useful utilities.<br>
 
common is a shared code base with useful utilities.<br>
Line 43: Line 42:
 
[[Private Server Common Tasks|Common Tasks]]
 
[[Private Server Common Tasks|Common Tasks]]
   
== Server mods: ==
+
== Server mods ==
 
-Mods tracked by devs: https://github.com/ScreepsMods<br>
 
-Mods tracked by devs: https://github.com/ScreepsMods<br>
 
-DeathTech's mods: https://github.com/DeathTech154/screepsMods<br>
 
-DeathTech's mods: https://github.com/DeathTech154/screepsMods<br>

Revision as of 16:23, 17 January 2017

This article is a stub. You can help Screeps Wiki by editing to add more information.

Info

This article is a stub. You can help Screeps Wiki by editing to add more information.
The Screeps private server is a private server created by the devs and highly modifiable by the community.

It consists of several segmented modules detailed below. And you can access their source codes at the bottom of this page.
The modules are as follows:

Launcher

launcher launches the rest of the processes, and it includes the server control GUI.
It is also an optional modules as any user can write their own launcher or launch modules manually.
Doing the latter gives far more control regarding the server operations.

Storage

storage contains a LokiJS-based database, a key-value storage, and a Pub/Sub mechanism.
The rest of the processes connect to storage to exchange data.
It is where your servers game lives including map data, player data, etc...

Backend

backend contains an HTTP server accessed by clients and a CLI server for administration.
This allows for server administrators to execute commands and also the primary way to interact with mods if they have an intractable element.

Engine

engine is the game core. It executes game scripts and interacts with game world objects.

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.
You can replace this module with your own one, if you wish to use another method of storing and handling data.

Common

common is a shared code base with useful utilities.

Links

Installation

Common Tasks

Server mods

-Mods tracked by devs: https://github.com/ScreepsMods
-DeathTech's mods: https://github.com/DeathTech154/screepsMods
More to be added when more links get published.

!Notice!
DeathTech's version of GCL to CPU made by iKlem is not the official one.
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.)
Please use "https://github.com/ScreepsMods/screepsmod-gcltocpu" for gcltocpu. Unless you want deathtech's chronjob version.


Source Code

https://GitHub.com/screeps/screeps Main Repo, mostly a meta-package and wrapper for the rest.
https://GitHub.com/screeps/launcher Electron/CLI launcher
https://GitHub.com/screeps/backend-local Webserver/API module
https://GitHub.com/screeps/engine Core Engine, this is shared with the public server
https://GitHub.com/screeps/storage Storage module, acts as a communications hub for all other modules
https://GitHub.com/screeps/common Shared module that other modules use to connect to storage
https://GitHub.com/screeps/driver This is the driver for the engine.