Difference between revisions of "Private Server"
(Revised content) |
m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Private Server]] |
[[Category:Private Server]] |
||
− | |||
⚫ | |||
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. |
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. |
||
+ | |||
⚫ | |||
+ | |||
+ | The private server consists of several modules that work together to provide the game environment. |
||
=== Launcher === |
=== Launcher === |
||
Line 13: | Line 15: | ||
* '''Console Launcher''': Allows launching the server from a command line without the GUI. Prerequisites include Node 10, Python 2, and build tools. |
* '''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 |
+ | * '''Custom Launchers''': Users can create their own launchers to manage server processes. |
+ | |||
⚫ | |||
+ | These are the community preferred solutions for hosting a private server: |
||
⚫ | |||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
=== Storage === |
=== Storage === |
||
Line 37: | Line 43: | ||
A shared code base with useful utilities. |
A shared code base with useful utilities. |
||
− | == |
+ | === Source code === |
− | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
⚫ | |||
− | |||
⚫ | |||
− | |||
⚫ | |||
− | |||
− | == Source Code == |
||
{| |
{| |
||
− | | https://github.com/screeps/screeps || Main |
+ | | 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/launcher || Electron/CLI launcher. |
||
Line 65: | Line 59: | ||
| https://github.com/screeps/driver || Engine driver. |
| https://github.com/screeps/driver || Engine driver. |
||
|} |
|} |
||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
+ | |||
+ | == Links == |
||
+ | |||
⚫ | |||
⚫ | |||
⚫ |
Latest revision as of 15:24, 21 April 2024
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.
Modules[edit | edit source]
The private server consists of several modules that work together to provide the game environment.
Launcher[edit | edit source]
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 community 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: focuses on ease of use and simplicity. It leverages Docker to provide a containerized environment, simplifying deployment and administration.
Storage[edit | edit source]
Contains a LokiJS-based database, a key-value storage, and a Pub/Sub mechanism. It stores game data, including map and player data.
Backend[edit | edit source]
Includes an HTTP server for client access and a CLI server for administration. Administrators can execute commands and interact with mods.
Engine[edit | edit source]
The game core responsible for executing game scripts and interacting with game world objects.
Driver[edit | edit source]
Acts as a link between the environment-independent engine and the immediate hosting environment. Users can replace this module for customized data handling.
Common[edit | edit source]
A shared code base with useful utilities.
Source code[edit | edit source]
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. |
Server mods[edit | edit source]
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 community-made Screeps mods: https://github.com/ScreepsMods