Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
Xinayder committed Nov 12, 2016
1 parent 2aee439 commit 1a8573e
Showing 1 changed file with 26 additions and 201 deletions.
227 changes: 26 additions & 201 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,210 +1,35 @@
#DarkMultiPlayer ${PROGRAMVERSION}
# DarkMultiPlayer

DarkMultiPlayer is a multiplayer mod for KSP 1.0.4. It supports subspace-style (and master controlled warp) warping & career mode, with an easy-to-edit server database.

The DarkMultiPlayer server and client is cross platform, it runs under mono on linux and mac.


##Client
DarkMultiPlayer is a multiplayer mod for Kerbal Space Program. It supports subspace style (and master controlled warp) warping and career mode, with an easy to edit server database.

###Installation / Updating
Option a) Extract the [DarkMultiPlayer zip](https://kerbalstuff.com/mod/4) to GameData.
Option b) Download DMPUpdater from http://godarklight.info.tm/dmp/downloads/dmpupdater/, place the program next to KSP.exe (Or KSP.app/KSP.x86_64), and run it.
The DarkMultiPlayer client and server are cross platform, see [Install](#install).

###Connecting to a server
The connection window will appear on the main menu. Type in a username, press add server, type in the details, and then hit add.
A player keypair will be generated (At GameData/DarkMultiPlayer/Plugins/Data/private.txt) during the first DMP start. DMP registers your username to the server with this keypair. If you lose your keypair, you will no longer be able to connect to the server with that username until the server administrator deletes you from Universe/Players/.

###Connecting, If you are also running a server
If you are running the server locally, you will want to connect to 127.0.0.1/localhost.
If you are running the server on a networked computer, you will most likely be connecting to a 10.x.x.x or 192.168.x.x address.
Do not type in your public IP, this usually refers to your modem, which won't be running the DMP server (Unless you have the public IP address in your computer, which is rare).

## Install
### Client
* Download the [DMPClient zip](https://spacedock.info/mod/10) and extract to `[KSP root folder]/GameData`
* Download [DMPUpdater](http://godarklight.info.tm/dmp/downloads/dmpupdater/), place the program on your KSP folder and run it.

###Flag sharing
DMP will sync any flags under the GameData/DarkMultiPlayer/Flags folder - Put your local flags in here if you want other players to see them. All other flags will work in any location if all players have the flags installed, but it will get reset to default if a player gets near a vessel with a flag they do not have.

###Chat window
By default, you will join the Global channel (and cannot leave it).
To PM a player, type /query playername or click on their player name in the global chat.
To start a group chat, type /join groupname.
To leave a PM or group chat, type /part or /leave in the window you want to leave. You can also press the 'Leave' button.
Group chats are indicated by the '#' mark, player chats are indicated by the '@' mark.
Newlines can be entered in the chat window with shift+enter.

###Craft sharing window
To upload a craft, press on your user name and then click 'Upload'.
To download a craft, press on the owning player's username and select one of their uploaded vessels.

###Screenshot sharing window
To upload a screenshot, press 'Upload'.
To view a players screenshot, press on their player name.
If the server has screenshot saving enabled, The players name will go red when there is a new screenshot to view.

###Mods
If you try to connect to a modded server, DMP will tell you everything you are missing, and tell you everything you shouldn't have in order to connect. If there is any DLL's that need to be added, you will need to restart KSP.

###Warping
Both regular and physics warp are available. When you warp, you will be put into your own "time" (called a subspace) which other players can sync to. All updates from the past affect future players, but future players will not affect players in the past.


##Server
### Server
The DarkMultiPlayer server is cross platform, meaning you can run it on any platform that supports .NET.
In Linux or macOS, you must have [Mono](http://mono-project.com) installed to be able to run the server.
* Download the [DMPServer zip](https://spacedock.info/mod/11/DarkMultiPlayer%20Server)
* Download [DMPUpdater](http://godarklight.info.tm/dmp/downloads/dmpupdater/), place the program on your server folder and run it.
- NOTE: you must have a previous server version in the folder for DMPUpdater to work.

###Installation
Option a) Extract the DarkMultiPlayer zip to a folder, Not under the KSP or GameData folders.

###Updating
Option a) Extract the zip as above
Option b) Place DMPUpdater next to DMPServer.exe and run it.

###Server console commands
admin - Sets a player as admin/removes admin from the player
ban - Bans a player from the server
banip - Bans an IP Address from the server
bankey - Bans a Guid from the server
connectionstats - Displays network traffic usage
countclients - Counts connected clients
dekessler - Clears out debris from the server
exit - Shuts down the server
help - Displays this help
kick - Kicks a player from the server
listclients - Lists connected clients
nukeksc - Clears ALL vessels from KSC and the Runway
pm - Sends a message to a player
quit - Shuts down the server
restart - Restarts the server
say - Broadcasts a message to clients
shutdown - Shuts down the server
whitelist - Change the server whitelist

###Options
The file is located at DMPServerSettings.txt next to DMPServer.exe. You will need to edit this file while the server is off-line. The file is created on the first server start.

###address
address - The address the server listens on.
WARNING: You do not need to change this unless you are running 2 servers on the same port.
Changing this setting from 0.0.0.0 will only give you trouble if you aren't running multiple servers.

####port
The port to listen on, default 6702.

####warpmode
The warp type.
- Mode 0: MCW_FORCE, You take a warp lock, every player will follow you into warp, and you will create a subspace when you come out of warp that everyone will sync to.
- Mode 1: MCW_VOTE: Same as MCW_FORCE, but you have to vote first - This option may be good for players doing the same thing with voice chat.
- Mode 2: MCW_LOWEST: NOT IMPLEMENTED - Warps to the lowest common warp factor.
- Mode 3: SUBSPACE_SIMPLE: NOT IMPLEMENTED - Allows you to create a subspace in the future, but you can only sync to the latest player with the '>' key.
- Mode 4: SUBSPACE: The default, and most important mode. Each player can warp at will, and they can "sync" to other players times. This is the only mode that allows QuickSaving/QuickLoading
- Mode 5: NONE: Players will be unable to warp.

You can configure your server by editing `Config/Settings.txt`.
If your server's game difficulty is set to `CUSTOM`, you can alter gameplay settings by editing `Config/GameplaySettings.txt`.

####gamemode
- Mode 0: SANDBOX - The default sandbox game mode.
- Mode 1: SCIENCE - Everyone has their own science points. Shared science is currently not implemented.
- Mode 2: CAREER - Everyone has their own career mode points and funds. Shared science is currently not implemented.

## Compiling
- Copy the following assemblies from `[KSP root folder]/KSP_Data/Managed`:
* `Assembly-CSharp`
* `Assembly-CSharp-firstpass`
* `UnityEngine`
* `UnityEngine.UI`
- Paste the copied assemblies where `DarkMultiPlayer.sln` is located at.

####gamedifficulty - Specify the gameplay difficulty of the server.
- Mode 0: EASY
- Mode 1: NORMAL
- Mode 2: MODERATE
- Mode 3: HARD
- Mode 4: CUSTOM - This will generate a DMPGameplaySettings.txt file you can edit.

## Mod Control
Read `DMPModControl.txt`, it's commented. The file can be copied from a development KMPServer (The one where you can use SHA sums, not the one with the !md5 section) as the file format is the same.

####whitelisted
Enable whitelisting on the server. The commands are /whitelist [add|del] playername or /whitelist show.
- 0 : Off
- 1 : On

If you are running a private server, it's safe enough to just add the missing parts.

####modcontrol
Enables or disables modcontrol - Only turn this off if you are running a private server where everyone has the same mods.
- 0 : Off
- 1 : On (Don't sync vessels with invalid parts)
- 2 : On (Prevent vessels with invalid parts from launching)


####keeptickingwhileoffline
Specify if the the server universe 'ticks' while nobody is connected or the server is shut down.


####sendplayertolatestsubspace
If true, sends the player to the latest subspace upon connecting. If false, sends the player to the previous subspace they were in.
NOTE: This may cause time-paradoxes, and will not work across server restarts.


####useutctimeinlog
Use UTC instead of system time in the log. This is useful if you want to co-ordinate logging between the server and client.


####loglevel
Minimum log level to display. While DMP is in alpha, it's recommended to leave this on DEBUG (0) if you want to submit bug reports. ;)


####screenshotsperplayer
Number of screenshots to save. You need to have a number higher than -1 in order for players to view screenshots for players they are not currently watching.
- -1 is disabled.
- 0 is unlimited.


####screenshotheight
The height of the screenshot in pixels.


####cheats
Enable use of cheats in-game.
- 0 : Off
- 1 : On

####httpport
HTTP port for server status. 0 = Disabled

####servername
Name of the server. This is the name that shows up in the JSON output (and server list if added)

####maxplayers
Maximum amount of players that can join the server.

####screenshotdirectory
Specify a custom screenshot directory.
This directory must exist in order to be used. Leave blank to store it in Universe.

####autonuke
Specify in minutes how often /nukeksc automatically runs. 0 = Disabled

####autodekessler
Specify in minutes how often /dekessler automatically runs. 0 = Disabled

####numberofasteroids
How many untracked asteroids to spawn into the universe. 0 = Disabled

####consoleidentifier
Specify the name that will appear when you send a message using the server's console.

####servermotd
Specify the server's MOTD (message of the day).


####expirescreenshots
Specify the amount of days a screenshot should be considered as expired and deleted. 0 = Disabled


####compressionenabled
Specify whether to enable compression. Decreases bandwidth usage but increases CPU usage. 0 = Disabled


####expirelogs
Specify the amount of days a log file should be considered as expired and deleted. 0 = Disabled




##Mods
Read DMPModControl.txt, it's commented/documented. The file can be copied from a *development* KMPServer (The one where you can use SHA sums, not the one with the !md5 section) as the file format is the same.

If you are running a private server, it's safe enough to just add the missing parts.

You can get the DMP client to make a DMPModControl.txt file specific for your GameData directory by pressing Options -> Generate DMPModControl.txt file.
The whitelist option will only allow you to connect with the mods in your GameData directory.
The blacklist option will allow you to connect with any mods.
You can get the DMP client to make a `DMPModControl.txt` file specific for your GameData directory by pressing `Options -> Advanced -> Mod Control -> Generate`. The whitelist option will only allow you to connect with the mods in your GameData directory. The blacklist option will allow you to connect with any mods.

0 comments on commit 1a8573e

Please sign in to comment.