Jump to content

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


Recommended Posts

On the topic of hamachi, it seems that, when connecting to a hamachi server, one does not include the port after the ip address. For example, in minecraft, I connect to 5.xxx.xxx.xx, not 5.xxx.xxx.xx:25565. I imagine the same thing applies to kessler. However, if I set the port value to blank, kessler gets mad at me. Is there any way to not have a port included in the address?

Link to comment
Share on other sites

Can you make it so that ships are assigned 'owners(The PC that created them)' and that if the owner makes changes to the ship it affects the save file rather than after the ship is put up it stays there no matter what?

Or is this not possible?

Link to comment
Share on other sites

Hello, i have installed java but i thinks path is wrong in jar file...so what i need to do?

My Computer > Properties

Hit the advanced tab

Hit the Environment Variables button

Highlight path,

winpath.jpg

Find your java path and hit edit, replace it with your java path.

Question to OP:

It appears I cannot connect to my own server after editing everything correctly, does it use your own IP?

As I didn\'t see any variable to change it.

Link to comment
Share on other sites

On the topic of hamachi, it seems that, when connecting to a hamachi server, one does not include the port after the ip address. For example, in minecraft, I connect to 5.xxx.xxx.xx, not 5.xxx.xxx.xx:25565. I imagine the same thing applies to kessler. However, if I set the port value to blank, kessler gets mad at me. Is there any way to not have a port included in the address?

You can just comment out the port line entirely:

# port = 8988

However, there\'s no such thing as connecting 'without a port'; it\'ll do the same thing minecraft does, which is connect using the default port of 8988.

It\'s possible that the library I\'m using for networking has issues when there\'s multiple network connections active (such as when Hamachi is running); I\'ll look into this.

Can you make it so that ships are assigned 'owners(The PC that created them)' and that if the owner makes changes to the ship it affects the save file rather than after the ship is put up it stays there no matter what?

Or is this not possible?

This (along with shared ship control) is something I want to add in the next release, actually, but I\'m waiting until I see what changes 14.2 makes to the save format first.

Wait, that\'s a BAT file, for PC only ?

Hope it can be compiled to Mac...

It\'s a JAR; it should work on anything with Java installed. The .bat is for convenience and to automatically work around some common issues with Java installs on windows.

I\'m working on an equivalent .sh for OSX users, but since I don\'t actually have a mac to test on it\'s tricky. In the meantime you should be able to run it from the command line, though - there\'s brief instructions in the OP.

Hello, i have installed java but i thinks path is wrong in jar file...so what i need to do?

Make sure you have Java 1.5 or higher properly installed, first of all. The .bat should search your system and automatically find your Java install no matter where it is.

If you\'re sure you have Java installed already, I\'d appreciate it if you could run \'java -version\' in the terminal and post the results here.

It appears I cannot connect to my own server after editing everything correctly, does it use your own IP?

As I didn\'t see any variable to change it.

It does, but if you\'re using Hamachi or Tunngle or similar VPN software, other people have reported problems with that; I\'m looking into it. If you\'re trying to connect to it from 'outside', make sure there\'s no firewall or NAT blocking the connection.

Link to comment
Share on other sites

I think that\'s the first step for a true 'multiplayer'. You should look at Orbiter Wiki, they show the fan projects making Orbiter a multiplayer game. They didn\'t really worked, but you can 'take' some ideas...

Link to comment
Share on other sites

On Hamachi: I have now tested Kessler with Hamachi and it seems to work fine. I don\'t know what the issue could be.

On TaTaRinBsB\'s issues: this has been tracked down to a corrupt Java install. After reinstalling Java, it works fine.

i get it, its an Asynchrous Multiplayer, like this

http://www.kongregate.com/games/DJStatika/async-racing?acomplete=async

Kind of, yes - rather than playing directly with other players, you\'re playing with 'ghosts' of their ships.

Link to comment
Share on other sites

Since you\'re messing with save files anyway, would it be possible to have a merge feature where you can combine two save files?

Like I take my world and my friend\'s world and with a few clicks his ships and my ships are both floating around in a different save.

Link to comment
Share on other sites

I\'ve uploaded a new version. Changes:

- kessler_client.sh and kessler_server.sh launcher scripts for OSX/Linux users

- the client should no longer crash on non-part files inside the parts/ directory (such as the .DS_Store that OSX likes to create there)

This should hopefully fix the most common issues people are reporting on OSX.

I\'m also working on adding compression to the network protocol it uses, since the save files on the test server are getting kind of large.

I\'ve also done some cleanup on the server; I\'ve deleted all 400+ debris objects and told it to reject debris in the future. Yes, I know people like debris, but the save file was getting seriously large and my terrible net connection was starting to choke whenever it sent debris to someone.

I\'ll probably merge the debris back in once I add compression, unless 14.2 hits first and invalidates the save anyways.

Since you\'re messing with save files anyway, would it be possible to have a merge feature where you can combine two save files?

Like I take my world and my friend\'s world and with a few clicks his ships and my ships are both floating around in a different save.

Not only would it be possible, the save editor that comes with Kessler already has that feature (the [tt]merge[/tt] command) and it was while working on that feature that I had the idea for Kessler.

Link to comment
Share on other sites

Since you\'re messing with save files anyway, would it be possible to have a merge feature where you can combine two save files?

Like I take my world and my friend\'s world and with a few clicks his ships and my ships are both floating around in a different save.

There\'s an editor included with Kessler that can merge save files together if you don\'t feel like running the server.

Link to comment
Share on other sites

*

Not only would it be possible, the save editor that comes with Kessler already has that feature (the [tt]merge[/tt] command) and it was while working on that feature that I had the idea for Kessler.

Ah, thank you. Downloading now.

Edit: For the further future, it would be cool to add some sort of account managment, where things like total time spent, total mass sent into space, and total value could be tracked. Maybe have some way of putting restraints and then modifying them, so people can have a space race of sorts?

Link to comment
Share on other sites

Still doesn\'t work on my mac.

bash-3.2$ /Users/thomas/Desktop/KSP/Game\ Copies/KSP\ Modded/kessler_client.sh 
usage: dirname path
Uploading save to server...
Unable to access jarfile kessler/client.jar
Downloading merged save...
Unable to access jarfile kessler/client.jar
Done!
bash-3.2$

Link to comment
Share on other sites

Well, we\'re getting closer. :)

bash-3.2$ /Users/thomas/Desktop/KSP/Game\ Copies/KSP\ Modded/kessler_client.sh 
/Users/thomas/Desktop/KSP/Game Copies/KSP Modded/kessler_client.sh: line 4: cd: /Users/thomas/Desktop/KSP/Game: No such file or directory
Uploading save to server...
Connecting to orias.homeip.net:8988...
Uploading saves/default/persistent.sfs to server for merge...
0 objects merged.
Downloading merged save...
Connecting to orias.homeip.net:8988...
Requesting new save file from server...
Scanning KSP directory for parts...
java.lang.RuntimeException: [39.7] failure: string matching regex `= *[^\n]*\' expected but `a\' found

Named after it\'s ability to overheat if not properly looked after.

^
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(IndexedSeqOptimized.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(ForkJoinPool.java:611)
at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
unhandled exception
Done!
bash-3.2$

Link to comment
Share on other sites

...Should I try this again or risk the slowdown I got last time...

You can always tell it to only download ships, not debris, from the server. (This is, in fact, the default setting now, since accidentally not downloading debris when you wanted to is less annoying than accidentally downloading 400 pieces of debris you didn\'t want.)

Time to test this out as i finally decided to get it to work, might make a video showing it off.

Edit: Guh... no other ships except my three show up, aruhg

Any error messages? Anything in kessler/rejected.txt?

Well, we\'re getting closer. :)

As much as I use bash, you wouldn\'t think simple quoting would give me this much trouble.

Try it now.

Link to comment
Share on other sites

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?

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...