Jump to content

The L.O.G. Multiplayer Project


MarkusA380

Do you like the idea of it?  

2 members have voted

  1. 1. Do you like the idea of it?



Recommended Posts

Hey, just another question that I'd love to see how you dealt with.

If Prima's ship is on a 500-day intercept trajectory with Jool, and Secunda's is on an 80 day intercept trajectory with Duna, how will that work out when the server timewarps? Or does it timewarp all the ships to a set time before their arrival? For that matter, do you have hours or minutes before a timewarp finishes?

Link to comment
Share on other sites

Hey, just another question that I'd love to see how you dealt with.

If Prima's ship is on a 500-day intercept trajectory with Jool, and Secunda's is on an 80 day intercept trajectory with Duna, how will that work out when the server timewarps? Or does it timewarp all the ships to a set time before their arrival? For that matter, do you have hours or minutes before a timewarp finishes?

In that case Secunda is going to pass the intercept by 420 days. Thats why you always should leave your ship to stable orbit.

Link to comment
Share on other sites

Wait what? Do you mean to tell me that you got the base multiplayer WORKING!?!?!? KSP Weekly nomination if thats true.

Well, yes. But, there is a bug CARROTSAREAWESOME is working on atm. which causes the server not to work correctly when more than one player is connected with a server. But I am sure he will have fixed it soon. :)

Link to comment
Share on other sites

Well, yes. But, there is a bug CARROTSAREAWESOME is working on atm. which causes the server not to work correctly when more than one player is connected with a server. But I am sure he will have fixed it soon. :)

So, what you're saying is the multiplayer works, as long as there's only 1 person playing...

Link to comment
Share on other sites

I would assume it could be some sort of permission system, the player controlling that module can set who can dock and who can modify the ship perhaps?

I would suggest the same. Dockingports will only magnetise if 1) both players allowed each other to dock (could also include some kind of a "friends list" with "allways allow docking") and 2) agreed on who is in controll afterwards, so the other one gets into "viewer mode" or something.

Link to comment
Share on other sites

I would suggest the same. Dockingports will only magnetise if 1) both players allowed each other to dock (could also include some kind of a "friends list" with "allways allow docking") and 2) agreed on who is in controll afterwards, so the other one gets into "viewer mode" or something.

My idea was quite the same!

Link to comment
Share on other sites

I still have a fiew questions.

What happens if you want to take controll over a vehicle that is currently playing a log? Will you be able to change the log while its running, or will you switch to the time where the log ends?

And how can I make sure not to miss transfer windows? If the server time runs while I'm in the VAB but does not run in real time, cause at some point it just hops to the point where the next log ends, its not easy to keep track of those windows and rendevous. Flightplanning is very difficoult under those circumstances.

Also consider what happens if someone pauses the game. I'd suggest, that you can pause your local universe and once you finished, the log gets fastforwarded to servertime.

Also Docking only works in realtime, unless you make sure the other vehicle can't get it's log changed until the docking is finished. Else you might dock to a vehicle, that then gets deorbited before you'r log does the actual docking. (damn, messing around with time makes things really complicated.)

If I got the the concept right, one has to be very carefull not to leave any ships in transit waititng for maneuvers, cause you have no controll over the actual servertime. Once you left a ship and go back to the VAB, the server might catch up with you. (you can't just check the clock and think: next maneuver in 10 minutes.. enough time to build another probe). I guess if you know that, its manageble. But you have to keep it in mind. To avoid this problem, people might leave a vehicle on the ground with no log, so the server can't jump in time, which will annoy everyone else who is waiting for their probes to FINNALY reach Eve (only to crash, because you forgot to open your chutes). That might be a rather social problem, but still worth taking in account.

sorry, if I repeted something here, I didn't read all 25 pages :/

Anyway, I'm really exited about this project. If you have a running "work in progress" version or something playable, I'm more than happy to test it for you :cool:

Good luck with this.

Link to comment
Share on other sites

In response to post #210

The problem does sound very similar to grandfather paradox.. which would be a huge problem. However wouldn't one simple solution be to make other player's ships/assets non-interactive while they are logged out. Later on in this thread they talk about permissions as well, which would help mitigate this. If you as player B choose to catch up and ram player As ship, that may be a problem. However I'm sure that the server stores player As final coordinates on sign out, so it would simply ignore the vehicles' history. You could ram other players all day long and the only one losing ships would be you. However you can still allow full interaction by allowing two logged in players to interact with each others' assets/ships.

A potential problems? how will these be handled?

A Troll logs onto the server, proceeds to timewarp at maximum for say 9 hrs real time. Troll logs off.

Player gets disconnected while warping/on planetary transfer. I have an idea for this, allow players to 'log their position' sort of like an F5 in single player. This gets updated if they logout, but if disconnected the server leaves them at their last 'log position'.

Edited by gl0ryh0und
Link to comment
Share on other sites

In response to post #210 and #244

It basically is the grandfather paradox. And alternate realities are not a solution, cause the number of those wil rapidly explode and ultimately lead to everyone playing in their own version of said universe, which we do right now.

But other than for timetravelers, the natuere of virtual reality provides a much simpler solution: You just have to prevent physiks from loading for vehicles that are only "log replays". That way any interaction is impossible by default. If a player wants other players to be able to dock to his ship/station/whatever (besides the permission thing we coverd earlier) they just need to make sure, the vehicle is flying live in servertime and does not have a log to be replayd.

Which brings us back to an earlier mentioned Problem. Any vehicle flying around in realtime (and unless everyone on the server is actively flying all their vehicles with timewarp on a regular base in order to create logs to be replayd, there will be a lot of realtime flying vehicles -> like Debris or abandoned projects) will prevent the Server from timewarping, making it pretty much a realtime server.

You'd need the power to timewarp the server, even when someones log has ended and the vehicle is now flying live in servertime. Maybe one could implement a setting on vehicles "allow serve to timewarp" which you have to uncheck if you want your vehicle to be bound to earth time. Such vehicles could still block timewarp on servers, but that would bring it down to a server-moderating issue (PM to troll: "Check that damn box, if you log out! else you'll get baned and I'll delet your -snip- station. It looks ugly anyway" :sticktongue: )

Edited by KasperVld
Please don't post profanity
Link to comment
Share on other sites

There isn't a problem if you can only interact with open ends of the timeline mesh representing vessels on the server. So if you meet any vessel at a time that isn't its latest state (or later; or you haven't a permission to interact with) you will have some kind of "ghost", as you might know from racing games. Also there isn't really an ingame servertime, since every player can be in its own time. The server only stores histories and may also do some verifications on updates submitted by the client, as well as some other "paperwork" (progression systems, managing launch windows [some kind of servertime would be useful here], chat, etc)

The server does not have to do any calculations if you are timewarping. Once you are done it might verify that haven't cheated in-between, but doing that for drifting though space is not any harder than doing it for a e.g. burn.

Actually, there is one problem with such an approach. Space stations. So they might need a special solution to allow players to dock even though another player has already dock in the far future (aka will dock some when, from your current ingame pov).

Link to comment
Share on other sites

I dont think permission systems and all that should be of concern right now.

Let's just first be able to play multiplayer with a few people together, while assuming all participants can be trusted.

Gigantic public multiplayer servers and all required facilities like protection against trolls and griefers are a whole other thing that may follow, but not important right now.

Edited by Psycix
Link to comment
Share on other sites

Gigantic public multiplayer servers and all required facilities are a whole other thing that may follow, but not important right now.

Thats right.

But while the problem I pointed out might be a minor issue on a server with 2 players, its something you might want to get right in the first place. If you have pinciple problem your system will never be scaleable.

Furthermore: I have much stuff flying around on a singleplayer universe which would disable a server's timewarp capability, so its not only a problem that occures on gigantic public mp servers.

Sorry if I'm posting novels about issues of the day after tomorrow, but once I started pondering over something I'm exited about, I'm hard to stop ;)

Link to comment
Share on other sites

I have much stuff flying around on a singleplayer universe which would disable a server's timewarp capability

The server doesn't really do any timewarp processing but only stores and distributes data, so its not a problem. Much stuff might make it unplayable on the client (just like those kessler bomb guy^^), but

- thats will require a gigantic lot of stuff

- a server administrator could do some cleanup or ban people who do it on purpose

- its easy to add an "you can only have x objects or have to delete sth" mechanic

- you could only transmit a selection of parts to clients, so old stuff / derbies might simply not show up on the clients

- a server will most likely get some automatic cleanup mechanisms as well (orbital decay would be awesome)

Edited by Faark
Link to comment
Share on other sites

The server doesn't really do any timewarp processing but only stores and distributes data, so its not a problem.

I'm not concerned about processing power of the server. Stuff thats flying around is keeping the server from timewarping because of the rules of that server.

Of course, because noone wants to wait for 400 days, the server time will be updated to the highest vessel-time when noone is controlling a vessel.
(see first post of this thread)

If I get that right, the server can only timewarp when every vessel has a prewritten log to skip through. So any vessel that haven't been used for a while and has no log keeps the server in realtime.

Tell me if I got that wrong, because if so I really don't understand how this is supposed to work.

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