Hurray! Another multiplayer clone project. :)

Discuss and distribute tools and methods for modding. Moderator - Grognak
jrb00001
Posts: 201
Joined: Fri Jan 15, 2016 2:22 pm

Re: Hurray! Another multiplayer clone project. :)

Postby jrb00001 » Wed Apr 27, 2016 4:32 pm

kcd.Spektor wrote:No, currently launcher clears all your settings, asks you to input your settings again, downloads the whole client(+some server files for some reason), to some folder, launches the client application, clicks 2 buttons.
(perhaps something else?)

What I mean is a launcher app that is just another jar/exe.
Which you just put in the same folder as the client jar/exe.
And when you run the launcher it just changes the server ip in the GameData.dat file to the needed one.
Checks if inside the data folder all ship images, shield images, ship icons are present, if not - download them from the server.
And then just run the client jar/exe.

In my opinion launcher is just a helper application.
It shouldn't delete your game folder and redownload the game every time when you run it.

It does exactly that:
  • Show the settings dialog
  • Backup the database
  • Download the repository if there is no local repo or it is damaged
  • Download and apply the changes if there is already a local repo
  • Restore the database
  • Download the client.jar / server.jar if there is no local copy
  • Verify the client.jar / server.jar
  • Write the Data/GameData.dat
  • Write the launcher.jnlp that can be used to connect to the server
  • Download itself because there is no way to get the current jar
  • Verify the launcher.jar
  • Start a new process
  • Show the security warning dialog
  • Detect the tachyon version and handle the launch (click through the menus / just launch your main class depending on the version)

As you can see, there is no unnecessary download except the download of itself. But there is no way to avoid that.

The launcher is used to launch the server and the client. That is why a few files are duplicated. It would be great if you could merge the client and the server directory somehow. It is also the reason why the client reverts to the same version as the server even if there is a newer version available. It might be unnecessary but it helps to avoid problems.
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Postby kcd.Spektor » Wed Apr 27, 2016 5:43 pm

jrb00001 wrote:
  • Show the settings dialog
  • Backup the database
  • Download the repository if there is no local repo or it is damaged
  • Download and apply the changes if there is already a local repo
  • Restore the database
  • Download the client.jar / server.jar if there is no local copy
  • Verify the client.jar / server.jar
  • Write the Data/GameData.dat
  • Write the launcher.jnlp that can be used to connect to the server
  • Download itself because there is no way to get the current jar
  • Verify the launcher.jar
  • Start a new process
  • Show the security warning dialog
  • Detect the tachyon version and handle the launch (click through the menus / just launch your main class depending on the version)

VS
  • Change the server ip in the GameData.dat file
  • Check if inside the data folder all ship images, shield images, ship icons are present, if not - download them from the server.
  • Run the client jar/exe.


:? Maybe it's just me - but it doesnt look like
It does exactly that
jrb00001
Posts: 201
Joined: Fri Jan 15, 2016 2:22 pm

Re: Hurray! Another multiplayer clone project. :)

Postby jrb00001 » Wed Apr 27, 2016 6:12 pm

    1:
  • Show the settings dialog
    2:
  • Backup the database
  • Download the repository if there is no local repo or it is damaged
  • Download and apply the changes if there is already a local repo
  • Restore the database
    3:
  • Download the client.jar / server.jar if there is no local copy
  • Verify the client.jar / server.jar
    4:
  • Write the Data/GameData.dat
    5:
  • Write the launcher.jnlp that can be used to connect to the server
  • Download itself because there is no way to get the current jar
  • Verify the launcher.jar
  • Start a new process
  • Show the security warning dialog
  • Detect the tachyon version and handle the launch (click through the menus / just launch your main class depending on the version)
VS
    4:
  • Change the server ip in the GameData.dat file
    2:
  • Check if inside the data folder all ship images, shield images, ship icons are present, if not - download them from the server.
    5:
  • Run the client jar/exe.
Comparison:
  • 1: It does not matter whether the user changes his preferences through some dialog or the way he downloads the client and some menu.
  • 2: My approach has the advantage that it allows to update content.
  • 3: The launcher downloads the required client automatically where your user has to find the correct version himself. What about outdated versions?
  • 4: The effect is the same.
  • 5: The effect is the same except that the user has to click less with the launcher.

kcd.Spektor wrote: :? Maybe it's just me - but it doesnt look like
jrb00001 wrote:It does exactly that

kcd.Spektor wrote:Why can't the launcher just download the missing images and run the clinet.jar/exe?

  • 1: Only there because you requested it.
  • 2: It does "just download the missing images" (looking at the name + content of the file).
  • 3: It does "just download the missing images" (replace "images" with "files" and it is true). It is also necessary to "run the clinet.jar/exe".
  • 4: Manually enter the server address if the launcher could do that for you? Why?!?
  • 5: It does "run the clinet.jar/exe". Everything else is there because of security or part 4.
If you ignore the features that were added because you requested them (and the small "click saver"), it is exactly the same!
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Postby kcd.Spektor » Wed Apr 27, 2016 7:30 pm

jrb00001 wrote:If you ignore the features that were added because you requested them (and the small "click saver"), it is exactly the same!

:roll:
If you just ignore all the differences - it's exactly the same.
:lol: You made my day sir.

Anyway - as long as it works... :)

P.S.
jrb00001 wrote:1: Only there because you requested it.

I didn't request this.
Only thing I actually requested was for the launcher to download the files to the same folder as it was launched from.
jrb00001
Posts: 201
Joined: Fri Jan 15, 2016 2:22 pm

Re: Hurray! Another multiplayer clone project. :)

Postby jrb00001 » Thu Apr 28, 2016 7:05 pm

kcd.Spektor wrote:
jrb00001 wrote:1: Only there because you requested it.

I didn't request this.
Only thing I actually requested was for the launcher to download the files to the same folder as it was launched from.

Post 814:
kcd.Spektor wrote:That's one of the reasons I asked for the launcher to download the data to the same folder or somewhear near.
Also I personally hate it when some application downloads something somewhere without me knowing about it and being unable to find the downloaded files to see/check them.

and Post 681:
kcd.Spektor wrote:Btw.
Jrb can you make your launcher to download the client to the folder where the launcher is executed?

I understood that as
  • Download everything to the current directory (impossible).
  • Show the location of the files to the user.
Post 686:
kcd.Spektor wrote:Also it's a bit annoying that everytime you need to readjust the volumes and input the player name.

I understood that as
  • Add an option to change the volumes permanently.
  • Add an option to set the player name permanenty.

They were not explicit requests but a very focused feedback which is the same for me (except that it has a lower priority).

PS: Edits are not very useful because they do not send email notifications...
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Postby kcd.Spektor » Fri Apr 29, 2016 5:03 am

jrb00001 wrote:I understood that as
  • Download everything to the current directory (impossible).

Being a programmer myself, I do know there's almost nothing that is impossible to do. (Certainly not this thing)

jrb00001 wrote:
kcd.Spektor wrote:Also it's a bit annoying that everytime you need to readjust the volumes and input the player name.

I understood that as
  • Add an option to change the volumes permanently.
  • Add an option to set the player name permanenty.

No, that was actually not "Add an option to change the volumes permanently", because you already have that possibility in the game.
But rather - Stop the launcher forcing me to readjust the volumes and input the player name. (After I alrayd did it in the game)

P.S.
jrb00001 wrote:I understood that as
...
I understood that as
...

Noone can argue with that one, cuz you can use it everytime for infinity :)

Image
User avatar
Srul
Posts: 209
Joined: Wed Feb 17, 2016 7:32 pm
Location: Clown Planet
Contact:

Re: Hurray! Another multiplayer clone project. :)

Postby Srul » Fri Apr 29, 2016 11:22 am

Image
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Postby kcd.Spektor » Fri Apr 29, 2016 3:44 pm

Srul wrote:Image

:lol: :lol: :lol:
ROFL

P.S.
Didn't mean to offend anybody.
Sorry if I did. :oops:
User avatar
Srul
Posts: 209
Joined: Wed Feb 17, 2016 7:32 pm
Location: Clown Planet
Contact:

Re: Hurray! Another multiplayer clone project. :)

Postby Srul » Fri Apr 29, 2016 3:50 pm

kcd.Spektor wrote: :lol: :lol: :lol:
ROFL

Seems like you liked the first Tachyon meme ever
jrb00001
Posts: 201
Joined: Fri Jan 15, 2016 2:22 pm

Re: Hurray! Another multiplayer clone project. :)

Postby jrb00001 » Fri Apr 29, 2016 5:45 pm

kcd.Spektor wrote:
jrb00001 wrote:I understood that as
  • Download everything to the current directory (impossible).

Being a programmer myself, I do know there's almost nothing that is impossible to do. (Certainly not this thing)

Please tell me how I can solve it in an implementation independent way. I did not find one.

kcd.Spektor wrote:
jrb00001 wrote:
kcd.Spektor wrote:Also it's a bit annoying that everytime you need to readjust the volumes and input the player name.

I understood that as
  • Add an option to change the volumes permanently.
  • Add an option to set the player name permanenty.

No, that was actually not "Add an option to change the volumes permanently", because you already have that possibility in the game.
But rather - Stop the launcher forcing me to readjust the volumes and input the player name. (After I alrayd did it in the game)

"you already have that possibility in the game" but that setting does not survive a restart (with my launcher)? How can that be permanent?

P.S.
Let's stop that useless discussion, we are both right.

Who is online

Users browsing this forum: No registered users and 6 guests