Giter Site home page Giter Site logo

kerbalmultiplayer's Introduction

KMP Client README

About

KMP is a mod for v0.22 of Kerbal Space Program that adds a multiplayer game option. In a KMP game you can freely interact with other players and do all the Kerbally things you'd normally do in KSP, but with friends (or strangers) playing in the same universe, at the same time. See the FAQ for more information.

Installation

Simply copy the contents of KMP.zip to your KSP directory. Be sure you copy both the "GameData" & "saves" folders as both are required for KMP to function correctly. It is recommended that you use a fresh copy of KSP for playing KMP--as KMP is in an EARLY ALPHA state it could potentially cause major issues even for non-KMP sessions, and KMP is not compatible with most other KSP mods.

Getting Connected

To connect to a server, select it from the favourites list and click "Connect". Clicking "Add Server" will show/hide the new server form. To add a new server, just enter the address & port (default 2076) and click "Add".

Gameplay

For the most part, playing with KMP is just like playing a single-player KSP game: you still build and launch ships, and you can even use time warp whenever you need/want to (see "Warping & Relative Time" below). There are several new windows added to the interface to allow you to communicate and coordinate with other players, and you will see indicators for other players on all the in-game maps of the solar system. Many features (such as reverting to launch, quick-loading, pausing, & physics-warp) are disabled during a KMP session.

[Main KMP Window] The main KMP window lists all the currently connected players with status information, and provides access to most KMP features. The buttons on the main window are: "[X]" - Hides the main KMP window and the KMP privacy lock. Click the "[-]" button to restore the main KMP window. "+"/"-" - Maximizes/minimizes the main KMP window size "Detail" - Toggles whether detailed flight status information is displayed for other players "Options" - Displays settings including keybindings, as well as the "Disconnect & Exit" button "Chat" - Toggles whether the Chat window is displayed "Viewer" - Toggles whether the Viewer window is displayed "Share Screen" - Takes a screenshot to be shared with other players "Sync" - Syncronize with the server's latest "subspace" (see "Warping & Relative Time")

[Chat] The Chat window, unsurprisingly, allows you to chat with other players on the server. Press enter or click "Send" to send a message to other players. "Wide" - Toggles wide chat display-mode "Help" - Toggles display of chat commands

WARNING FOR LINUX USERS: A bug with Unity/KSP as of 0.21.1 causes keyboard input to be picked up by your vessel even when you a typing in a text box. Be sure you are on the Map View before participating in chat to prevent accidents!

[Viewer] The Viewer allows you to view screenshots shared by other players. Just click on a player's name to see the most recent screenshot they've shared.

WARNING FOR LINUX USERS: A bug with Unity/KSP as of 0.21.1 causes issues with sending or viewing screenshots. While these features may work normally in some cases, it is recommended that you avoid using them as they often cause the game to crash without warning.

Hex-editing your game binary remedies this issue as discussed on the forums here: http://forum.kerbalspaceprogram.com/threads/24529-The-Linux-compatibility-thread!?p=849510&viewfull=1#post849510

echo "838077: 00" | xxd -r - KSP.x86_64 echo "83807c: 00" | xxd -r - KSP.x86_64

Warping & Relative Time

KMP allows you to use regular "on-rails" warp on-demand, as much as you need. However, whenever you use warp this desynchronizes you from other players putting you in the future relative to them. You can still play your game normally when other players are in the past, but you won't be able to interact with them directly and they'll only see the things you're doing if the "catch up" to you in time. Other players that use warp may end up in the future relative to you, and it's not uncommon to find yourself sitting between other groups of players, some in the future and some in the past. You can sync with any player that's in the future relative to you--just click the "Sync" button under their name and you'll be jumped ahead in time to the same 'subspace' as that player. The "Sync" button at the bottom of the main KMP window always sychronizes you with the "latest" subspace available in the current game, which is where (when?) newly connected players join the game as well. Be sure that you're landed or in a stable orbit when you sync, as otherwise you may find yourself somewhere unexpected!

You're still able to see other players and what they're doing in-game when they're in a different subspace--you can chat, send screenshots, share designs, etc, but you won't be able to interact with any in-game vessels that those players control. Vessels from the past or future turn translucent so that you know that you won't be able to affect them. If the other player is in the past, KMP tries to predict where they'll be in the future and shows their ship at that location. Keep in mind, though, that since the ship is still being manipulated in the past, the predicted future location can rapidly change. If another ship has been manipulated in the future, you're effectively just watching a recording of events that have "already happened" play out.

Vessel Privacy

By default a vessel you launch will be in a "Public" status, which means that other players can take control of it if you leave and they may freely dock with your ship as well. To keep a vessel to yourself, use the "Lock" window on the right-side of the screen to set the vessel to "Private" status. You can't take control of another vessel owned by another player that has marked it "Private", nor can you dock with a "Private" vessel. Keep in mind, though, that if another player is in control of your vessel they can choose to lock it to themselves--only share your ships with players you trust. Your vessel locks are tied to your username & token (see "User Authentication" below)--if you change your username or token, you will lose access to vessels that were marked "Private" with those credentials. Players can always interact physically (i.e. collide) with another vessel even when the owner is absent.

User Authentication

KMP uses a simple username+token system for controlling your access to a server and to your vessels. Your "token" is a file created by KMP which is stored at [KSP folder]\GameData\KMP\Plugins\PluginData\KerbalMultiPlayer\KMPPlayerToken.txt--think of this file as your password. Once you first join a server successfully, the username you are using is immediately tied to your token for that server. Other players that join that server will not be able to connect with your username as they won't have a matching token. If you want to access the same server from multiple computers with a single username, be sure to copy the KMPPlayerToken.txt file created on the first computer you use to the other(s) in order to make it possible for you to connect. If your token file is missing, a new one will be generated for you but this will of course also change your token. Your vessel locks (if any) are tied to your username & token--if either changes you will lose access to any vessels that were set to "Private" until you restore the original username and token or contact a server admin for assistance.

Mods

KMP allows server-side mod control (although many mods that change parts of the universe, like Kethane, still do not work). Add mods to your server at your own risk. The old (prior to v0.1.5.0) system, which uses the KMPModControl.txt file on the client's installation, is no longer in effect. Instead, server admins configure their servers' KMPModControl.txt file to their specifications, and clients that do not meet the mod requirements will not be allowed to connect.

The simplest way for an admin to configure mods is to use the "Mods/Required", "Mods/Required_Exact", "Mods/Optional", and "Mods/Optional_Exact" directories in their KMP Server directory. Simply copy any mods that you would like to use to the respective directories: mods that you place in the "Mods/Required" or "Mods/Required_Exact" directories will be mandatory for the client to have in order to connect, and mods that you place in the "Mods/Optional" or "Mods/Optional_Exact" directories will be allowed, but not necessary. The "Exact" variants are for mods where you want to force the client to have exactly the same file (does a SHA hash check, so use this if you want to force a specific version of a mod or make sure that certain files weren't modified by the client), and the non-Exact variants are for mods where you just want to make sure they have the right filenames installed (use this if you want to force the client to have a mod, but it doesn't have to match the server's file exactly, so the client could use a newer or older version of the mod). Mods that include parts (e.g. KWRocketry) or that change persistent data about the universe (e.g. RealSolarSystem) should be placed in a "Required" directory, in order to maintain synchronization with other players. Mods that only affect the client (e.g. EditorExtensions) can be placed in an "Optional" directory, so clients can use them if they want to.

The server's "checkAllModFiles" setting determines which mod files are checked. If this is set to false (default), it will only check ".cfg" and ".dll" files. If it's set to true, it will check every file in any of the "Mods/" directories.

Once you've configured your mods in the "Required" and "Optional" directories as you see fit, run the server program and use the "/modgen" command. This will automatically create a KMPModControl.txt file that matches the file structure you created in the Mods directories. You can now use the "resource-whitelist" section to specify files that are allowed, but DON'T need to exist or be SHA checked. This is useful for adding files that are changed on the client side by the mod itself (like KMP's "KMPPlayerToken.txt" file), which may or may not exist and will not match a SHA hash check. The effects of placing a filename in the whitelist would be the same as putting that file in the "Optional" directory and running /modgen, but this allows you to keep that mod together and not have to split it among different directories (e.g. putting most of KMP in the "Required_Exact" directory, but the "KMPPlayerToken.txt" file in the "Optional" directory). By default, the client can only connect if:

  • they have ALL the files in both of the "Required" directories
  • their copies of files match the ones on the server in the "Required_Exact" directory (using a SHA256 hash check)
  • if they have a file that's in the "Optional_Exact" directory, it must match the one on the server (also using SHA256)
  • if they have a file that's in neither the "Required" nor "Optional" directories, they are not allowed to connect

Example: I would like to use KWRocketry parts on my server, and I'm OK with my clients using EditorExtensions but I don't want to force them to (but if they want to, it should be the same version that I put on my server). I'm also OK with them using Kerbal Alarm Clock, and I don't care which version they're using. I download the KWRocketry mod, and I place the directory that would normally go in KSP's "GameData" directory into "Mods/Required_Exact". I then download the EditorExtensions mod, and I place the directory that would normally go in KSP's "GameData" directory into "Mods/Optional_Exact". I then download the KerbalAlarmClock mod, and place the directory that would normally go in KSP's "GameData" directory into "Mods/Optional". Now, I start the server and use the "/modgen" command. I will now have a running server that will force clients to have KWRocketry, let them have a specific version of EditorExtensions if they want, let them have any version of KerbalAlarmClock, and not allow them to have any other mods. I can use the /modgen command again if I like (e.g. if I added a new mod), and it will retain any filenames that I've added to the "resource-whitelist" section.

Other configuration options are available as well. If you would like to manually configure your KMPModControl.txt file, start the server once (with nothing in any of the "Mods/" directories) and it will auto-generate a basic file. Read the comments to understand exactly how each section works. You will probably only need this option if you want to run a "blacklist" server instead of a "whitelist" server, where any file is allowed except the ones specifically listed. Blacklist servers make it very easy for one client with different mods to mess up the whole system though, so be careful with this.

kerbalmultiplayer's People

Contributors

alvaro-cuesta avatar benjamg avatar butterkitty avatar cullyn avatar dani-s avatar dazoe avatar dplarina avatar fore5fire avatar godarklight avatar hashashin avatar ialexryan avatar joshj5hawk avatar krzys-h avatar kylekotowick avatar masterdimmy avatar nevercast avatar phonicuk avatar rccoles avatar ruarai avatar tehgimp avatar universal-church avatar velusip avatar wayneoween avatar wetmelon avatar xinayder avatar xjph avatar xterm91 avatar yilmas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kerbalmultiplayer's Issues

Vessels dissapear

Friend of mine switched over to my mun landed vessels after parking his vessel in a prox 100km orbit.

I was in ksp centre. I then tried to switch to his vessel in orbit. It switched me to jeb instead (weird flixers). When I went back to space centre his vessel disappeared. It also disappeared on his client.
He switched to my vessel by pressing the switch to button.

Vessel update error: SQL logic error

I got this on the server just compiled from master when i go to launchpad or leave the 40km bouble:

Vessel update error: SQL logic error or missing database
5 values for 4 columns at System.Data.SQLite.SQLite3.Prepare (System.Data.SQLite.SQLiteConnection cnn, System.String strSql, System.Data.SQLite.SQLiteStatement previous, UInt32 timeoutMS, System.String& strRemain) [0x00000] in :0
at System.Data.SQLite.SQLiteCommand.BuildNextCommand () [0x00000] in :0

Cheats are enabled

Well I was just test launching in my server when I tried cheats and they did work. You should probably add a way to not use cheats neither allow the use of modified stock parts.

Crash during KMP_universe.db backup due to file lock.

System.IO.IOException: The process cannot access the file 'C:\srv\KMP-0.1.0pa\KMP_universe.db' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.Delete(String path)
at KMPServer.Server.backupDatabase()
at KMPServer.Server.hostingLoop()
at KMPServer.ServerMain.hostServer(ServerSettings settings

Vessels not disappearing from runway

Sometimes when a vessel is launched from the runway, and then go back to the space center, SPH, back to the runway, the old vessel is still sitting there on the runway, spawning the new vessel right on top of the old one. Sometimes this throws me into an endless loop of synchronization that can only be fixed by restarting the game.

Error messages from failed connections (e.g. username, auth token related) do not show up in chat window until successfully connecting to another server.

The "Your username is already claimed by an existing user." message doesn't render in the chat window until a successful connection has been made.

I've been tinkering with it on a private host and ran into some strange bugs when tokens change:

If you only change your token -- retaining your persistence file -- you can still log into a server, but all vessels will be locked to you (even Jebediah Default from your own local persistence) and resync will fail.

It seems that a user has to reinstall their own start.sfs or persistance.sfs files from the release package when changing tokens in order to even see the "username is already claimed" error. ...I think.

Lock-up when trying to connect to more than one server

User report:
"Situation: two servers available. I select one and connect, the request goes through but all KSP displays is "connecting to x..." without doing anything or timing out the request. After a minute I figure it's not happening, so I try to connect to the second server and KSP freezes up.
I'm running Mac OSX 10.9."

Cannot Connect to Any Server.

K first of all the specs: OS:Win7,Steam installed Version of KSP,

I have uninstalled and reinstalled Ksp and the kmp mod multiple times. I have turned off any and all firewall/antivirus software. I have confirmed that the servers I am try to join are active and have players in them. The Issue is when I try to connect 1 of 2 things will happen. at the bottom of the Gui at the main menu after I press connect it will say Connected to server! handshaking........disconnected. Or it will say attempting to connect to 999.999.999 ........disconnected. I have asked and searched the fourm for hours try to find a fix or similar problem to no avail. Im not sure what else to do. Please help me

Server console outputs a lot of junk

This is what console output looks like, I'm using zsh, on Amazon Linux through urxvt terminal emulator.

KMP Server version 0.1.0
    Created by Shaun Esau
    Based on Kerbal LiveFeed created by Alfred Lam


1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mPort: 2076
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mHTTP Port: 80
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mMax Clients: 8
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mJoin Message: 
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mServer Info: 
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mUpdates Per Second: 60
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mScreenshot Height: 256
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mScreenshot Interval: 3000ms
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mSave Screenshots: False
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mAuto-Restart: False
1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;mAuto-Host: False

P: change port, HP: change http port, M: change max clients
J: join message, IF: server info, U: updates per second
SH: screenshot height, SI: screenshot interval, SV: save screenshots
AR: toggle auto-restart, AH: toggle auto-host
H: begin hosting, Q: quit
h

1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;m1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;m[18:12:41] 1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;mUnexpected exception encountered! Crash report written to KMPServerlog.txt
1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;mSystem.Data.SQLite.SQLiteException: SQL logic error or missing database
Failed to initialize logging.
  at System.Data.SQLite.SQLiteLog.Initialize () [0x00000] 
  at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString, Boolean parseViaFramework) [0x00000] 
  at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString) [0x00000] 
  at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteConnection:.ctor (string)
  at KMPServer.Server.startDatabase () [0x00000] 
  at KMPServer.Server.clearState () [0x00000] 
  at KMPServer.Server.hostingLoop () [0x00000] 
  at KMPServer.ServerMain.hostServer (KMPServer.ServerSettings settings) [0x00000] 

1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;m[18:12:41] 1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;mMissing (or bad) universe database file.
1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;m1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;m[18:12:41] 1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;mCreating new universe...
1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;m1%{8}%<%t32%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;2%;m[18:12:41] 1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;mUniverse OK.
1%{8}%<%t31%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;1%;mPress any key to quit

The server is an Amazon EC2 box running Amazon Linux, a variant of Red Hat Enterprise Linux 6 IIRC.

Here is what I did to install KMP

  1. unzipped KMP_server.zip to ~/kmp
  2. copied Assembly-CShart.dll, Assembly-CSharp-firstpass.dll, and UnityEngine.dll to ~/kmp
  3. Enabled the [epel] repository in /etc/yum.repos.d/epel.repo
  4. installed mono with sudo yum install mono-core mono-devel
  5. Ran the server with `mono ~/kmp/KMPServer.exe

EDIT: I missed the exception in all that junk, the server crashes, and it looks like its because it's missing System.core, I must not have all of the dependencies installed.

I think all of that junk should be terminal escape sequences, because on an ubuntu box it renders as colored output.

It looks like I am missing a required dependency, I switched the host from Amazon Linux to Ubuntu and the server started fine.

Some keys won't appear

I don't know if this is Squad-side but whenever you type some letters like J L it wont appear in the chat.

Maneuver Nodes keeps jumping from place to place

Well, I was trying to dock with my friend in my server, when I tried to place a maneuver node. Firstly I was fine with his and my orbit blinking on the map, but when I placed the maneuver node, it started to jump from place to place in my orbit. I'd record a video but this laptop is crappy so... No video.

Official Server Planned?

Will an official server be implemented. Is it even planned? If so, how many players may be on it at one time?

Note: Sorry, wrong section. Meant to put it into the Question page!

Unexpected exception encountered!

[19:52:31] Unexpected exception encountered! Crash report written to KMPServerlog.txt
System.Data.SQLite.SQLiteException: SQL logic error or missing database
Failed to initialize logging.
at System.Data.SQLite.SQLiteLog.Initialize () [0x00000] in :0
at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString, Boolean parseViaFramework) [0x00000] in :0
at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString) [0x00000] in :0
at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteConnection:.ctor (string)
at KMPServer.Server.startDatabase () [0x00000] in :0
at KMPServer.Server.clearState () [0x00000] in :0
at KMPServer.Server.hostingLoop () [0x00000] in :0
at KMPServer.ServerMain.hostServer (KMPServer.ServerSettings settings) [0x00000] in :0

[19:52:31] Loading universe...
[19:52:31] Universe OK.
Press any key to quit

Flags aren't saved when you re-join the server

Steps to reproduce this "bug": join a server, click the flag pole and select a flag other than the default one. Then go into VAB and check if it's changed. If it did change, leave the server and join it again - the flag wll have been put back to the default one.

Craft sharing commands not functioning correctly

I've received a report from the only person to try out the craft sharing commands with the actual release (that I know of), who encountered an issue where KMP claimed it couldn't find the specified craft file.

Whenever I try and connect to a server the menu goes blank

Pretty much what the title says, whenever I click add server after entering the address and port the menu which displays the multiplayer info turns blank. I've verified the games cache, reinstalled the mod and deleted all other mods so I'm a bit stuck on what to do. Any comments are appreciated.

Vessel update Error

[20:00:19] Vessel update error: SQL logic error or missing database
5 values for 4 columns bij System.Data.SQLite.SQLite3.Prepare(SQLiteConnectio
n cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRem
ain)
bij System.Data.SQLite.SQLiteCommand.BuildNextCommand()
bij System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
bij System.Data.SQLite.SQLiteDataReader.NextResult()
bij System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehav
ior behave)
bij System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
bij System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
bij KMPServer.Server.storeVesselUpdate(KMPVesselUpdate vessel_update, Int32 s
ending_client, Boolean isSecondary)
bij KMPServer.Server.sendPluginUpdateToAll(Byte[] data, Boolean secondaryUpda
te, Int32 sending_client)

(this occured at windows 7 professional 64 bit)

Crash when some tried to join the server

it was working fine then i had 2 people on and then it crashed

Heres the log: System.NullReferenceException: Object reference not set to an instance of an object.
at KMPServer.Server.hostingLoop()
at KMPServer.ServerMain.hostServer(ServerSettings settings)
Stacktrace: at KMPServer.Server.disconnectClient(Int32 index, String message)
at KMPServer.Server.handleConnections()

Server randomly crashed

Can you please hint me what caused it?

serverlog.txt: http://pastebin.com/bbDXH99u

console output:

Stacktrace:

Native stacktrace:

    mono() [0x80e863d]
    mono() [0x8128bac]
    mono() [0x8064d1f]
    [0xb773240c]
    mono() [0x8228d3f]
    mono() [0x822c597]
    mono() [0x82294d6]
    mono() [0x82225c8]
    mono() [0x8222c80]
    mono() [0x8223696]
    mono() [0x82238b6]
    mono() [0x822625f]
    mono() [0x8226ff9]
    mono() [0x822cfe8]
    mono(mono_object_new_fast+0x18) [0x81a9c48]
    [0xb7115330]
    [0xb6abafa4]
    [0xb7113c05]
    mono() [0x8068fec]

Debug info from gdb:

Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries

used by your application.

Cant join on new downloaded Server [v0.1.0.4] [2xBug]

I downloaded a new server directly of SpacePort. (3-4 hours ago, but still 0.1.0.4)
[Same Issue on 0.1.2.0]
But when someone tries to join, I am getting this Error:

System.MissingMethodException: Methode nicht gefunden: "ConfigNode KMP.KMPVesselUpdate.getProtoVesselNode()".
bei KMPServer.Server.hostingLoop()
bei KMPServer.ServerMain.hostServer(ServerSettings settings)
Stacktrace: bei KMPServer.Server.sendPluginUpdateToAll(Byte[] data, Boolean secondaryUpdate, Int32 sending_client)
bei KMPServer.Server.handleMessage(Int32 client_index, ClientMessageID id, Byte[] data)
bei KMPServer.Server.handleConnections()

Seems like the newest server is making problems, right?
And dont worry, I copied the 3 dlls over to the folder.

[Edit: This second issue is fixed on my side by running the server as admin. Thanks to RockyTV]
Because I like to find bugs, here is the next one. I am geeting an error, when I try to save the server after launching it. (Maybe because noone joined it, but still posting it here)

System.IO.IOException: Der Prozess kann nicht auf die Datei "C:\KMP\KMP_universe.db" zugreifen, da sie von einem anderen Prozess verwendet wird.
bei KMPServer.Server.hostingLoop()
bei KMPServer.ServerMain.hostServer(ServerSettings settings)
Stacktrace: bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.File.Delete(String path)
bei KMPServer.Server.backupDatabase()
bei KMPServer.Server.handleCommands()

Some parts are in german, sorry for that.

Edit:
My server/computer:
Windows Server 2008 R2 Standard (Same as Windows 7)
Intel i7-3770 CPU @ 3.40GHz
32,0 GB RAM
64 Bit

Edit:
Downloaded 0.1.2.0 and still have the first issue...
But the second issue can be fixed by running the server as admin.

Mod Part Loading Bug

I don't know if this is a bug with this mod or with KSP but this is low priority bug.

When I add parts to the KMPPartsList.txt, any part that begins with a number (i.e. "123PartName") will not be accounted in the "approved parts" list in game. Only after the name of these parts are changed in the cfg (i.e. a123PartName) will the parts load.

Just a heads up to avoid future issues and thanks for making this great mod!

Very Small Issue

This isnt a very big issue, but I thought i would point it out anyway. The chat stays open if you leave the server with it open. I'm not 100% sure if it supposed to. If it is, then ignore me. Thanks anyway.

Unable to connect to any servers - OSX

When I attempt to connect to servers using a fresh KSP install, I can enter my username, enter the server name and port, and click connect. After that, it just... stops...

At the main menu.
Screen 1

Selecting a server, I checked the thread to make sure people had connected before...
Screen 2

...And connect. I waited about ten minutes after this. KSP still acted normally, I could still navigate the menus, there was no freezing, but I could not connect to the server.
Screen 3

I'm running OSX 10.8.4, so this may be a Mac-exclusive bug.

Kerbal Space Center screen is blue

I haven't tried connecting to a server on another computer, but when connecting to one I am hosting, my game screen starts me in space, then says it is sending me to the kerbal space center. Once the loading screen finishes, I see Kerbin on the map screen, then the game starts to load the KSC. In the top right it says something like "Unexpected Error: Resynchronizing" and then below it displays "Universe Synchronized". Once the KSC loads, nothing shows but a blue sky. I can interact with the KMP menus, but can not even highlight the red X in the bottom right. It also keeps repeating the Unexpected Error Message. The server log says the following after I join (the things enclosed in brackets being the amount of characters):

Activity level is now IN_FLIGHT
Vessel [8]-[4]-[4]-[4]-[12] reported as destroyed
Sync request to subspace 1
Sending all vessels in current subspace
[Repeat of vessel reported as destroyed]
Activity level is now IN_GAME

I tried rejoining, restarting the server, and restarting the game in various orders.

2013-10-29_00001

I was able to join the server once with the KSC actually showing up, but every time after that, I have gotten this result.

Server Admin Chat weirdness

Hello! Great Project so far, if you need any help, just call me =)

This is a chat weirdness that I have found:

14:19:35] activity level is now INACTIVE
Mhm - this [14:20:05] [] how come no one is showing up for players on the server?
is currently[14:20:08] Client #1 has disconnected: Connection lost
running on a low power machine of mine
and it really does not seem to take lot of traffic
and hardware in[14:20:38] [] it said it for a bit then nothing
generall
[14:20:42] [] oh
maybe because no on is in space at the moment?
yeah, my jabber server is taking more resources[14:21:07] [] oh probably right
at the moment XD
[14:21:10] [] better get to space
[14:21:28] Client #2 has disconnected: Connection lost
the chat is somehow weird
on the admin console
i can't wri[14:22:18] [] oh?
te full sentances if someone writes before as it gets replaced somehow
i just open a ticket at github
[14:22:43] Sending all vessels in current subspace for
[14:22:43] activity level is now IN_FLIGHT
[14:22:46] [] oh wierd

If you are currently writing something to a user, and he writes before you finish the sentance, it scrolls over.
It still works, it is just weird to look at =)

Screenshots not working

Screenshots don't work. I couldn't watch my friends screenshot and he couldn't watch mine. The server recorded that a screen was captured tho.

My server config:
http://pastebin.com/bmBXqE84

If you want to try/connect: tawot.com

I only forwarded udp&tcp 2076.

Server running on win2012x64 and one client win8X64 and one win7x86.

Periodic "UDP Connection lost" bug(s)

I'm getting reports of a common issue with getting repeatedly disconnected from a server. Early indications are that this may just be a simple server load problem, but it's entirely possible that other factors are at play. If you've encountered this bug please report the following details:

  1. How many people were online when you saw the disconnection
  2. Did you stay connected to the server, or did the player list empty out? This indicates whether you also lost the TCP connection or not.
  3. Whether you are the server's admin or not

Thanks!

Crash when connecting to server

When someone connects to the server it crashes with this error:

System.IO.FileNotFoundException: Could not load file or assembly 'Assembly-CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'Assembly-CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
at KMPServer.Server.hostingLoop()
at KMPServer.ServerMain.hostServer(ServerSettings settings)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value HKLM\Software\Microsoft\Fusion!EnableLog to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Stacktrace: at KMPServer.Server.sendPluginUpdateToAll(Byte[] data, Boolean secondaryUpdate, Int32 sending_client)
at KMPServer.Server.handleMessage(Int32 client_index, ClientMessageID id, Byte[] data)
at KMPServer.Server.handleConnections()

README.TXT: Please mention you need .net 3.5

You should mention in your README.TXT that .net 3.5 is required. I'm running the server on windows 2008 R2 and by default it only comes with .net 4.0.

Otherwise the server will not work.

Crashes on Server (0.1.1) Windows 2008 R2

[14:42:00] [Error] : Unexpected exception encountered! Crash report written to l
og file
[14:42:00] [Error] : System.IndexOutOfRangeException: Index was outside the boun
ds of the array.
at KMPServer.Server.hostingLoop()
at KMPServer.ServerMain.hostServer(ConfigStore settings)
[14:42:00] [Error] : Stacktrace:
[14:42:00] [Error] : at KMPServer.Server.asyncUDPReceive(IAsyncResult result)

Crafts not syncing between players. (players stuck in "Preparing/Launching from KSC")

I launched a stever and placed a craft in orbit, later my friend joined and he could not see my crafts (I was AFK, but still in game in control of the vehicle). He also put a craft in orbit, and when I came back his craft wasn't present.

I noticed that player status remains at "Preparing/launching from KSC" in the KMP menu, which could be related.

Server output reports "Universe saved to disk", and KMP_universe.db exists, but is only 36K

Sudden crash.

On launch this error in the console:

pastebin.com/fyYkyGg2

When entering orbit this error and crash:

pastebin.com/7a8VQRjN

I am running Windows 7 63-bit, and avast antivirus gives a heavy virus warning on the server.exe. I really would like to try this out (i can also host 24/7) if you need a Windows user to test i am the man ;)

Still connected even though disconnected

OK so the problem is you can join the server then close the game completely (task manager) then restart game and it says somebody is joined with your name. The problem is you really never disconnected so its like you are joining the server twice with same name and of course you are rejected by the server. In orbiter multiplayer the dev used a "garbage collector" to eliminate this problem. The way to resolve the problem is to join with different name. But it seems that unless the server is restarted that original user name is "soft" banned. I tried changing the name,logging in (hoping the server would drop the first name) log out, then back in with original name...well it didnt work hence the "soft" ban

System.OutOfMemoryException

running server with 8 players univers.dll is 60mb big. i got this:

System.OutOfMemoryException: Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.
bei KMPServer.Server.hostingLoop()
bei KMPServer.ServerMain.hostServer(ServerSettings settings)
Stacktrace: bei KMPServer.ServerClient.handleReceive()
bei KMPServer.ServerClient.asyncReceive(IAsyncResult result)

ram on server was 700mb and 7gb free dont now what happend

Paste (ctrl + v) Breaks GUI

Confirmed by multiple people.

Pasting an address into the GUI and pressing add removes all buttons and doesn't do anything. Full re-install required to fix as the GUI thereafter lacks anything.

Linux compatibility with .net 4.0

Compiled a snapshot of the source taken at the time of this entry using Monodevelop.

When I uploaded it to one of my Debian servers, I got the following error:

mono KMPServer.exe
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v1.1.4322

** (KMPServer.exe:17682): WARNING **: The class System.Collections.Generic.KeyValuePair`2 could not be loaded, used in mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Unhandled Exception: System.TypeLoadException: Could not load type 'System.Collections.Generic.KeyValuePair`2' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Current Mono in Debian is ~/ksp$ mono -V
Mono JIT compiler version 2.6.7 (Debian 2.6.7-5.1)

A google search for similar issues reveals that .net 4.0 is not supported until Mono 2.8 or higher (2.10 for full support).

Could the code be patched to compile correctly for an older version of .net in order to maintain Linux compatibility without requiring users to compile the latest versions of mono? Attempting to make it compile for .net 3.5 or .net 3.0 result in errors, and I don't have enough practice with C# to correct them.

Getting crashes on my server ...

System.NullReferenceException: Object reference not set to an instance of an object.
at KMPServer.Server.hostingLoop()
at KMPServer.ServerMain.hostServer(ServerSettings settings)
Stacktrace: at KMPServer.Server.disconnectClient(Int32 index, String message)
at KMPServer.Server.handleConnections()

Cannot launch even stock rockets.

The KMP constantly tells me:
Can't start flight - Vessel has prohibited parts. Sorry!

But the rocket i'm trying to launch is just the stock Kerbal X...
The KSP is a clean install with no mods except KMP.
This even happens when I'm connecting to my own server.

Feature request: Server querying

Hi,

I'm just getting started with all of this. If it is not already implemented, a protocol enabled for server querying would be great. Basic server info like online, player counts / names, mods in use, etc. An xml file would be fine, or there are a few prebuilt solutions out there (though I don't know how hard it would be to integrate them. I think I even saw some support in unity for something like this, though I wasn't able to take a really good look yet.

Just more data in a formulated manner would be great for server status / list websites. I hope to get a server list website going in the next couple of days.

Feature Bugs + 2 Feature Request

Bug/Request 1:

I used the KMPPartList to add the mods we use. About half of them work. Can we just have an option for private to simply disable the part checker?

Request 2:

I was able to do some save editing to enable career mode. It works as we wanted, each player getting thier own tech and science independantly. But if you log out of hte server and back in, persistance file retains everything including kethane, etc. It has your science in it, but mysteriously you can not access the rnd and are in sandbox again. Is there a way we can have that state saved?

Bug 2:

If you recover vessel, you multiply kerbals. While I was testing I was able to get 3 of the same kerbal out and could of done more by just recovering then launching again.

Suggestion: HTTP page, provide more information for debugging.

FYI ..

This is what the page looks like:

Version: 0.1.0
Port: 2076
Num Players: 5/16
Players: MrFeared, Rondon032, pokus, HopoLopoPoju, Frizzank
Information: KMP Server, stock parts, email [email protected] for anything.
Updates per Second: 60
Inactive Ship Limit: 100
Screenshot Height: 512
Screenshot Save: True

Why don't you dump the contents of the crash log and maybe the last 200 or 300 lines from the output of the server console? That could help you troubleshoot server-side issues.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.