Jump to content

[0.14-0.16] Kessler: asynchronous, shared-world multiplayer (+ save editor)


Recommended Posts

Question: How does time differences affect this? Like say I send a rocket into Kerbol orbit, and fast forward until it gets to the other side of the star. Will the server always have the latest time saved? With all the orbits changed accordingly?

The timestamp in your file isn\'t changed; orbits you get from elsewhere will be adjusted to match your timestamp (which means they may not be in the same place on your system as on the system they were uploaded from).

The server records the first version of each ship it gets and rejects future updates to it. I\'m working on changing this so that timestamps of each orbit are adjusted for the save file they\'re being copied to, and later updates to a ship will change it for everyone.

Link to comment
Share on other sites

Kessler looks like it\'s working fine with 14.3; I\'ve wiped the shared world on the test server and it\'s running again. I\'m still working on protocol improvements and mission updating.

it says it can\'t find a java install even after i just reinstalled it just to be sure.

What version of Java? Of windows?

What does \'java -version\' say when run in the terminal?

Link to comment
Share on other sites

Kessler looks like it\'s working fine with 14.3; I\'ve wiped the shared world on the test server and it\'s running again. I\'m still working on protocol improvements and mission updating.

What version of Java? Of windows?

What does \'java -version\' say when run in the terminal?

ToxicFrog can u update thread name when u released new version of kessler, it would be better!

Link to comment
Share on other sites

Guest GroundHOG-2010


(snip)
The server and client both also have options to filter out certain classes of objects, such as debris or objects with the NaN bug.
What about the save editor?
The save editor was really just a side effect of the groundwork needed to develop Kessler. It\'s still included in the Kessler zip.
What are the system requirements?
A computer with Java 1.5 or later installed. You\'ll probably also want KSP installed to actually the play the game, though (unless you\'re just hosting the server, and playing KSP on another computer).
Is it free? Open source? What\'s it written in?
Yes, yes, and Scala. It is released under the MIT license; feel free to use Kessler, or parts of it, for any purpose you desire.
Where can I get it?
You can download the latest version here. The whole project is hosted on github and source code is available here. To install, just download the zip and unpack it to your KSP directory.
If you already have Kessler installed and want to update to the latest version, you can download this instead, which is an update package that does not contain the supporting libraries and as a result is much smaller.
What\'s planned for future versions?
At the moment development is on hold while I wait to see what changes 14.2 makes to the save file format.
Once Kessler is updated to support 14.2, I want to work on the ability to update ships that have already been copied to other people\'s saves - allowing for shared missions, not just shared worlds.
I\'m also working on adding protocol compression to reduce the bandwidth costs of hosting a server; the save files get larger than originally anticipated.
How can I get in contact with you?
I\'m generally hanging out in the KSP official IRC channel on QuakeNet; just send me a PM. If you\'ve found a repeatable bug in Kessler or the editor, you can also use GitHub\'s Issues system to report it.

If you want to host a game, just install it, edit kessler/server_config.txt to choose a port and password, and then run [tt]kessler_server.bat[/tt]. Once started it shouldn\'t need any further care.

(Linux/OSX users: [tt]kessler_server.sh[/tt]. You can also specify the location of the config file on the command line, so you can have everything in one directory and just do: [tt]java -cp . -jar server.jar server_config.txt[/tt]. Make sure to edit the save path in server_config.txt appropriately if you do this!)

If you want to join a game, install it, edit kessler/client_config.txt for the host, port, and password (if any) of the server. Then just run [tt]kessler_client.bat[/tt] (while at the KSC screen or while KSP isn\'t running; do not run it while in flight or at the tracking centre) to sync with the server. (Linux/OSX: [tt]kessler_client.sh[/tt])

If you want to use the save editor, run [tt]kessler_editor.bat[/tt] (Linux/OSX: [tt]kessler_editor.sh[/tt]). Then type [tt]help[/tt] for a list of commands. Don\'t forget to [tt]save[/tt] when you\'re done making changes!

SynMonger is hosting a test server - host sashimi.synmonger.com, port 8988, no password.

I am also hosting a test server - host orias.homeip.net, port 8988, password kesslertest

Fixed, you forgot the / in the thing

Link to comment
Share on other sites

Please help. I don\'t think this is a java problem - I have the java telemetry app working fine. Hope this error helps - trying to run the client (not the server).

kesslererror.jpg

How are you running it? With the kessler_client.bat file in the main KSP directory?

Did you download the full install (KSPKessler.zip) or just the update (KSPKessler_update.zip)?

Link to comment
Share on other sites

Okay - working better now. Your link in the OP directed me to the update. I now got the 'download latest version' so I hope it is. :) I got a 9.0 meg zip file. I\'ll assume there are no updates to this.

Batch file ran fine. Loading KSP now ...

edit:

Nup. My persistence file did not change.

error.jpg

Link to comment
Share on other sites

The test server is still up, and it should work with 14.3 and 14.4 - the save file format hasn\'t changed in any ways that affect Kessler.

To clarify, Kessler supports 14.4, you do not need to downgrade KSP to keep using Kessler. If you have upgraded to 14.4 and Kessler has stopped working, report it here and I\'ll look into it, because that shouldn\'t happen.

Okay - working better now. Your link in the OP directed me to the update. I now got the 'download latest version' so I hope it is. :) I got a 9.0 meg zip file. I\'ll assume there are no updates to this.

Batch file ran fine. Loading KSP now ...

edit:

Nup. My persistence file did not change.

error.jpg

That screenshot shows that you have Kessler installed to its own directory. Don\'t do that. You need to install it to the same directory as KSP - 'kessler_client.bat' and 'KSP.exe' should be next to each other.

Link to comment
Share on other sites

Ha - holey crap. That worked!

So I can see bunch of other bits and bobs. How much of my crap is being uploaded to the server?

Server says it just got 16 more objects. One of the improvements I\'m working on is better reporting on the server - that could be 4 rockets and 12 crew, or 1 rocket, 3 crew, and 12 pieces of debris, or the like.

Link to comment
Share on other sites

Can you set up another \'instance\' in 'set and forget' mode on another port? If so then ill start another thread inviting all and sundry to set up a Mun base. Space junk welcome and crash landings expected! It can be stock or mods - it wont matter because ksp simply filters out the ships you dont have mods for.

This is awesome! 8)

Link to comment
Share on other sites

I have an issue with the new 1.4.4 version, any help guys ?

Uploading save to server...
Found Java at C:\Program Files\Java\jre6
Connecting to server.mydomain.net:8988...
Uploading saves/default/persistent.sfs to server for merge...
0 objects merged.
Downloading merged save...
Connecting to server.mydomain.net:8988...
Requesting new save file from server...
Scanning KSP directory for parts...
java.lang.RuntimeException: [7.5] failure: string matching regex `= *[^\n]*\' exp
ected but `f\' found

rcs fuel balnced to stock 900 per m^3

^
at ksp.SFSParser$.parseString(SFSParser.scala:41)
at ksp.Object$.fromFile(Object.scala:9)
at kessler.KesslerClient$$anonfun$listParts$2.apply(KesslerClient.scala:
153)
at kessler.KesslerClient$$anonfun$listParts$2.apply(KesslerClient.scala:
153)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
.scala:194)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
.scala:194)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimize
d.scala:34)
at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:38)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)

at scala.collection.mutable.ArrayOps.map(ArrayOps.scala:38)
at kessler.KesslerClient.listParts(KesslerClient.scala:152)
at kessler.KesslerClient.getGame(KesslerClient.scala:98)
at kessler.KesslerClient.act(KesslerClient.scala:54)
at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
at scala.actors.Reactor$$anonfun$dostart$1.apply(Reactor.scala:222)
at scala.actors.ReactorTask.run(ReactorTask.scala:33)
at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinP
ool.java:611)
at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:
422)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorke
rThread.java:340)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThre
ad.java:325)
unhandled exception
Done!

Link to comment
Share on other sites

Just some feedback - after using Kessler, I\'ll be captain obvious for a moment and mention the game is significantly slower when

- autosaving

- ending flight

- moving to launch pad

- going to tracking station

- changing control from map view

In fact, everything is slow except the piloting of the craft you control.

Which is simply sweet. 8)

I will play around with the cfg settings now and see how much damage I can do. :P

Edit:

A filter/clean to remove \'untitled space craft\' would be handy. :)

Edit:

Oh please include a manual for your nifty editor some day!

Edit: Damn, the filter/clean removes powersats as they are considered debris (I assume). If I put a mechjeb on the side I assume that will preserve my powersat network.

Link to comment
Share on other sites

Can you set up another \'instance\' in 'set and forget' mode on another port? If so then ill start another thread inviting all and sundry to set up a Mun base. Space junk welcome and crash landings expected! It can be stock or mods - it wont matter because ksp simply filters out the ships you dont have mods for.

I\'m only planning to run the one test server (the machine it\'s hosted on doesn\'t have a lot of bandwidth to spare), but you can always run one yourself. :)

I have an issue with the new 1.4.4 version, any help guys ?

[stack trace snipped]

Looks like it\'s choking on something in your parts folder. This is expected (there\'s no formal spec and a lot of packs play fast and loose with the format, so occasionally the parser runs into something I haven\'t accounted for), but it shouldn\'t stop the client from running - it should just say 'couldn\'t process parts/foo/, skipping' or similar and keep going. I\'ll look into this.

Could you release a version where every change is given to the server? I am going to host on the RP forum and.. well... people will sometimes send missiles at each other.

What do you mean by 'every change is given to the server'?

If you mean something where later changes to a flight will result in updates on the server and clients, this is something I\'m currently working on, but thesis work is catching up with me and I haven\'t had a lot of time to spend on Kessler lately.

If you mean something where destroying a flight will result in it being deleted from the server and clients, this is also something I want to do but it\'s a lot harder to get right and may never be implemented, barring changes to the saved data that make it easier to keep track of such things.

If you mean something else, please explain.

Just some feedback - after using Kessler, I\'ll be captain obvious for a moment and mention the game is significantly slower when...

Yeah, having a 5MB save file will do that. 8)

Edit:

A filter/clean to remove \'untitled space craft\' would be handy. :)

In the save editor:

select name ~ Untitled Space Craft
delete
save

Oh please include a manual for your nifty editor some day!

There\'s builtin per-command help (try [tt]help[/tt] or [tt]help <command>[/tt]) but no overarching manual. I really should write one.

Edit: Damn, the filter/clean removes powersats as they are considered debris (I assume). If I put a mechjeb on the side I assume that will preserve my powersat network.

It should, assuming that it sets ORBIT.OBJ=0 in the SFS (which I think it does).

You might also try changing the filter from this:

filter = nan,launchpad,debris

To this:

filter = nan,launchpad,debris && name !~ powersat

Which is completely untested but should, I think, work (it should delete all debris that -does not- have a name containing the string 'powersat' - case sensitive!)

And if it doesn\'t work it probably should, so report that as a bug. :D

Link to comment
Share on other sites

I tried connecting to a server, but an error pops up after looking at the directory for parts, then after a millisecond disappears. I tried connecting to the same server with a different set of mods, and it worked perfectly fine. Is a specific mod causing this problem?

Here is my list of mods for the set that flipped out, all of them are latest versions:

C7 + C7 Exp + C7 Gear plugin

PEIS Pack

Probodobodyne

MechJeb

Kosmos Angara + Space Station parts

JellyCubes things

NovaPunch + Odin OTV

Cart plugin

Crab wheels

Link to comment
Share on other sites

I tried connecting to a server, but an error pops up after looking at the directory for parts, then after a millisecond disappears. I tried connecting to the same server with a different set of mods, and it worked perfectly fine. Is a specific mod causing this problem?

It is very likely that one of those part packs has a part.cfg that Kessler can\'t load, due to some idiosyncrasy of its structure that I haven\'t accounted for.

I\'m currently working on a release (which I should have done later today) that makes a number of improvements; one of these is better error handling in this case, along with a log file so that you can just copy-paste from that rather than trying to take a screenshot of the window before it closes.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...