New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Itch.io packaging #1824

Closed
DeinFreund opened this Issue Oct 8, 2017 · 28 comments

Comments

Projects
7 participants
@DeinFreund
Member

DeinFreund commented Oct 8, 2017

Itch.io doesn't include automatic updates like steam, but we could still distribute the whole game to reduce server load to updates only. Alternatively we could simply distribute the zk launcher/setup.

I'd prefer distributing the launcher as I'm unsure how many would wait for a 1 GB+ browser download to complete. How should we deal with Linux users?

@Oflameo

This comment has been minimized.

Show comment
Hide comment
@Oflameo

Oflameo Oct 8, 2017

I would also rather distribute the launcher since we know it works already. The launcher works for GNU/Linux users as I am a GNU/Linux user and have only used the launcher.

Oflameo commented Oct 8, 2017

I would also rather distribute the launcher since we know it works already. The launcher works for GNU/Linux users as I am a GNU/Linux user and have only used the launcher.

@DeinFreund

This comment has been minimized.

Show comment
Hide comment
@DeinFreund

DeinFreund Oct 8, 2017

Member

Currently it doesn't provide the required packages (mono-complete libsdl2-2.0-0 libopenal1 libcurl3). Without mono you couldn't even launch it.

A disclaimer on the itch.io page would look rather unprofessional.

Member

DeinFreund commented Oct 8, 2017

Currently it doesn't provide the required packages (mono-complete libsdl2-2.0-0 libopenal1 libcurl3). Without mono you couldn't even launch it.

A disclaimer on the itch.io page would look rather unprofessional.

@Oflameo

This comment has been minimized.

Show comment
Hide comment
@Oflameo

Oflameo Oct 8, 2017

I doubt they care as long as they can run the game. We can link this page from the comment section. http://zero-k.info/Wiki/Download.

So many GNU/Linux users are programmers of some kind ( developer / sysadmin ) they would probably figure it out themselves by querying the forum even if we didn't tell them. Telling them will speed things up for them though.

Oflameo commented Oct 8, 2017

I doubt they care as long as they can run the game. We can link this page from the comment section. http://zero-k.info/Wiki/Download.

So many GNU/Linux users are programmers of some kind ( developer / sysadmin ) they would probably figure it out themselves by querying the forum even if we didn't tell them. Telling them will speed things up for them though.

@Sortale

This comment has been minimized.

Show comment
Hide comment
@Sortale

Sortale Oct 9, 2017

Contributor

can we use deb file?

or a bash shell like here: http://zero-k.info/Forum/Thread/24376

Contributor

Sortale commented Oct 9, 2017

can we use deb file?

or a bash shell like here: http://zero-k.info/Forum/Thread/24376

@DeinFreund

This comment has been minimized.

Show comment
Hide comment
@DeinFreund

DeinFreund Oct 9, 2017

Member

That looks more elegant. I'd use it as a Linux installer.

Member

DeinFreund commented Oct 9, 2017

That looks more elegant. I'd use it as a Linux installer.

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 10, 2017

Contributor

There's been some more progress on the deb pkg front in that thread on the forums. Do we feel like deb pkg is enough, or should we have a script that would attempt to work on rpm systems too? It may be hard to support arch, gentoo, etc, and advanced users will know what to do with the shell script code anyway.

Contributor

lagerspetz commented Oct 10, 2017

There's been some more progress on the deb pkg front in that thread on the forums. Do we feel like deb pkg is enough, or should we have a script that would attempt to work on rpm systems too? It may be hard to support arch, gentoo, etc, and advanced users will know what to do with the shell script code anyway.

@DeinFreund

This comment has been minimized.

Show comment
Hide comment
@DeinFreund

DeinFreund Oct 10, 2017

Member

I don't really mind whether it's a deb, bash script or some other package. Of course deb would be nice if it works. We can put up the script for people with other package managers.

I doubt people would've much of an issue executing the script and if that's the most reliable solution we should probably just leave it with that.

Member

DeinFreund commented Oct 10, 2017

I don't really mind whether it's a deb, bash script or some other package. Of course deb would be nice if it works. We can put up the script for people with other package managers.

I doubt people would've much of an issue executing the script and if that's the most reliable solution we should probably just leave it with that.

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 10, 2017

Contributor
Contributor

lagerspetz commented Oct 10, 2017

@GoogleFrog

This comment has been minimized.

Show comment
Hide comment
@GoogleFrog

GoogleFrog Oct 14, 2017

Contributor

If you put a static package on itch who is going to update it? @Licho1 do you have input?

Contributor

GoogleFrog commented Oct 14, 2017

If you put a static package on itch who is going to update it? @Licho1 do you have input?

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 14, 2017

Contributor

The Linux tar package and the deb we have now will download the newest chobby when installed. Then, chobby will update itself.

If the package needs updates later, I can help.

Contributor

lagerspetz commented Oct 14, 2017

The Linux tar package and the deb we have now will download the newest chobby when installed. Then, chobby will update itself.

If the package needs updates later, I can help.

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 14, 2017

Contributor

One more note: the deb version actually downloads new chobby every time the chobby.exe file is updated on the server.

Contributor

lagerspetz commented Oct 14, 2017

One more note: the deb version actually downloads new chobby every time the chobby.exe file is updated on the server.

@GoogleFrog GoogleFrog added this to the itch milestone Oct 31, 2017

@GoogleFrog

This comment has been minimized.

Show comment
Hide comment
@GoogleFrog

GoogleFrog Oct 31, 2017

Contributor

The windows installer will be the standard chobby download that can be found on the ZK site. Doing anything else is too much of a hassle in terms of keeping the package up to date.

This ticket remains open because the status of the linux install is unknown to me.

Contributor

GoogleFrog commented Oct 31, 2017

The windows installer will be the standard chobby download that can be found on the ZK site. Doing anything else is too much of a hassle in terms of keeping the package up to date.

This ticket remains open because the status of the linux install is unknown to me.

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 31, 2017

Contributor

There is a deb package for Ubuntu and other Debian based systems here:
https://drive.google.com/file/d/0B8gbickq501_cURJUHhZNmU5NVU/view?usp=sharing
It is arch independent, so it should work on amd64 and i386 both.

Installing this is just double click, give admin password, on those systems.

There is also a tar.gz package ( like a zip ):
https://mega.nz/#!X9dhTLpJ!Rk8Up438PmyoHujWYy9G9Y_rnBLVSMBKxjcstcQJ-qo

Using it is a bit more complicated than double click, but it should work on any Linux system. The caveat is that people need to install the dependencies themselves.

Install guide:

  1. download the tar.gz file, and
  2. extract it somewhere.
  3. double click the Zero-K folder.
  4. Double-click the setup-zerok.sh script. Choose run or run in terminal, both work.
  5. Follow instructions. If you are on Debian, but wish to skip dependency installation or have no root access, just press cancel to the apt-get prompt.

Both the deb and the tar.gz place Zero-K in the Applications menu of your desktop, so you can
find Zero-K in your applications menu under the games category, or simply by searching for Zero-K in your app menu/search/launcher app.

How would we be able to upload these to be hosted at zero-k.info ? We can just post updates as issues, or pull requests, but tar.gz and deb are binaries, so not super nice to put on github.

Contributor

lagerspetz commented Oct 31, 2017

There is a deb package for Ubuntu and other Debian based systems here:
https://drive.google.com/file/d/0B8gbickq501_cURJUHhZNmU5NVU/view?usp=sharing
It is arch independent, so it should work on amd64 and i386 both.

Installing this is just double click, give admin password, on those systems.

There is also a tar.gz package ( like a zip ):
https://mega.nz/#!X9dhTLpJ!Rk8Up438PmyoHujWYy9G9Y_rnBLVSMBKxjcstcQJ-qo

Using it is a bit more complicated than double click, but it should work on any Linux system. The caveat is that people need to install the dependencies themselves.

Install guide:

  1. download the tar.gz file, and
  2. extract it somewhere.
  3. double click the Zero-K folder.
  4. Double-click the setup-zerok.sh script. Choose run or run in terminal, both work.
  5. Follow instructions. If you are on Debian, but wish to skip dependency installation or have no root access, just press cancel to the apt-get prompt.

Both the deb and the tar.gz place Zero-K in the Applications menu of your desktop, so you can
find Zero-K in your applications menu under the games category, or simply by searching for Zero-K in your app menu/search/launcher app.

How would we be able to upload these to be hosted at zero-k.info ? We can just post updates as issues, or pull requests, but tar.gz and deb are binaries, so not super nice to put on github.

@Anarchid

This comment has been minimized.

Show comment
Hide comment
@Anarchid

Anarchid Oct 31, 2017

Member

Do these packages download the lobby executable or contain it? If former, they should be tested a bit more and then uploaded to site and linked for linux downloads.

If latter, the script that generates them should be added to zk build.

Member

Anarchid commented Oct 31, 2017

Do these packages download the lobby executable or contain it? If former, they should be tested a bit more and then uploaded to site and linked for linux downloads.

If latter, the script that generates them should be added to zk build.

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 31, 2017

Contributor

They download it. We chose to download the latest Zero-K on installation to require less updates to the packaging. Please point anyone to these links and let them test the packages. I am available to help with fixing any issues. Probably Sortale can help too, he made the deb package. Discussion here: http://zero-k.info/Forum/Thread/24376?Search=&User=&grorder=&grdesc=False&grpage=1

Contributor

lagerspetz commented Oct 31, 2017

They download it. We chose to download the latest Zero-K on installation to require less updates to the packaging. Please point anyone to these links and let them test the packages. I am available to help with fixing any issues. Probably Sortale can help too, he made the deb package. Discussion here: http://zero-k.info/Forum/Thread/24376?Search=&User=&grorder=&grdesc=False&grpage=1

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Oct 31, 2017

Contributor

I have an idea, use Github releases to store the tar.gz and deb files:
https://github.com/ZeroK-RTS/Zero-K/releases
We can tag a Zero-K / Chobby / something version (arbitrary really since this downloads Chobby, the version number doesn't even matter), and then drag and drop the binaries to the github release item, like so:

https://help.github.com/articles/creating-releases/

Contributor

lagerspetz commented Oct 31, 2017

I have an idea, use Github releases to store the tar.gz and deb files:
https://github.com/ZeroK-RTS/Zero-K/releases
We can tag a Zero-K / Chobby / something version (arbitrary really since this downloads Chobby, the version number doesn't even matter), and then drag and drop the binaries to the github release item, like so:

https://help.github.com/articles/creating-releases/

@Sortale

This comment has been minimized.

Show comment
Hide comment
@Sortale

Sortale Nov 1, 2017

Contributor

if someone can spend about 20 hours teaching me how to compile and package the chobby wrapper then there is a 50% chance that I can ask + make for a debian repo listing else the deb file containing downloading script is the best I can make.

don't think anyone have that kind of time though.

Contributor

Sortale commented Nov 1, 2017

if someone can spend about 20 hours teaching me how to compile and package the chobby wrapper then there is a 50% chance that I can ask + make for a debian repo listing else the deb file containing downloading script is the best I can make.

don't think anyone have that kind of time though.

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Nov 1, 2017

Contributor

Not sure if that was a response for me @Sortale but I agree; I think keeping the package separate from the Chobby release cycle is a good idea. Then the same package can just be shown with every new Chobby release, since after install it updates itself anyway. And we don't need a deb repo because the only real benefit from that would be a chance of getting included in distros, which update pretty slowly compared to Chobby. So, this would still require copying the binary to a user folder anyway to let it auto-update, since updating the binary within the package would not happen very often with a standard Ubuntu x.y release.

Contributor

lagerspetz commented Nov 1, 2017

Not sure if that was a response for me @Sortale but I agree; I think keeping the package separate from the Chobby release cycle is a good idea. Then the same package can just be shown with every new Chobby release, since after install it updates itself anyway. And we don't need a deb repo because the only real benefit from that would be a chance of getting included in distros, which update pretty slowly compared to Chobby. So, this would still require copying the binary to a user folder anyway to let it auto-update, since updating the binary within the package would not happen very often with a standard Ubuntu x.y release.

@Sortale

This comment has been minimized.

Show comment
Hide comment
@Sortale

Sortale Nov 12, 2017

Contributor

@lagerspetz execute rename broke linux install. need update to your script.

updated Deb file:

https://drive.google.com/file/d/1cuOzT00zuG0k1UOLKVDXDZ_3-gOZsou3/view?usp=sharing

Changelog:

update to be in line with server name change

updated sh script file

https://drive.google.com/file/d/1xlD8cSfEHQLpihP1roZOv41qjbfymuMF/view?usp=sharing

Contributor

Sortale commented Nov 12, 2017

@lagerspetz execute rename broke linux install. need update to your script.

updated Deb file:

https://drive.google.com/file/d/1cuOzT00zuG0k1UOLKVDXDZ_3-gOZsou3/view?usp=sharing

Changelog:

update to be in line with server name change

updated sh script file

https://drive.google.com/file/d/1xlD8cSfEHQLpihP1roZOv41qjbfymuMF/view?usp=sharing

@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Nov 12, 2017

Contributor

Ok. This is the new sh with updated binary name: https://github.com/lagerspetz/linux-stuff/blob/master/Zero-K/setup-zerok.sh

New tar gz:
https://mega.nz/#!39FVibYD!qPN3UGeRZM__D5VesJkLHaHhBE4RNT7NmFq-OEtk33Q

But I guess Sortale already did this 👍
Tested to work.

Contributor

lagerspetz commented Nov 12, 2017

Ok. This is the new sh with updated binary name: https://github.com/lagerspetz/linux-stuff/blob/master/Zero-K/setup-zerok.sh

New tar gz:
https://mega.nz/#!39FVibYD!qPN3UGeRZM__D5VesJkLHaHhBE4RNT7NmFq-OEtk33Q

But I guess Sortale already did this 👍
Tested to work.

@DeinFreund DeinFreund closed this Nov 17, 2017

@DeinFreund

This comment has been minimized.

Show comment
Hide comment
Member

DeinFreund commented Nov 21, 2017

@DeinFreund DeinFreund reopened this Nov 21, 2017

@Sortale

This comment has been minimized.

Show comment
Hide comment
@Sortale

Sortale Nov 22, 2017

Contributor

hot fix for the linux distribution can be this:

https://sortale.itch.io/test-sortale?secret=EuUudU13jX6F1OsaNSpNeFTVw8U

if testing is ok then [test ok for me + @Oflameo ] someone confirm please

it's this one

Zero-k-itch.tar.gz

also question is this enough or do people want me to make it work for the 700mb portable itch.io version? [ @gajop think I should make it to go with the 700mb portable version]

should I check for dependency on every run or just first run/install?

should I inform user that we are trying to install dependency?

Contributor

Sortale commented Nov 22, 2017

hot fix for the linux distribution can be this:

https://sortale.itch.io/test-sortale?secret=EuUudU13jX6F1OsaNSpNeFTVw8U

if testing is ok then [test ok for me + @Oflameo ] someone confirm please

it's this one

Zero-k-itch.tar.gz

also question is this enough or do people want me to make it work for the 700mb portable itch.io version? [ @gajop think I should make it to go with the 700mb portable version]

should I check for dependency on every run or just first run/install?

should I inform user that we are trying to install dependency?

@Licho1

This comment has been minimized.

Show comment
Hide comment
@Licho1

Licho1 Nov 22, 2017

Member

The script has following faults:

  • sqlite not installed
  • arguments not passed to launcher (needed for steam)
Member

Licho1 commented Nov 22, 2017

The script has following faults:

  • sqlite not installed
  • arguments not passed to launcher (needed for steam)
@Sortale

This comment has been minimized.

Show comment
Hide comment
@Sortale

Sortale Nov 22, 2017

Contributor

Zero-K-itch-1.0.3.tar.gz

updated to @Licho1 request

  • sqlite installed
  • arguments passed to launcher (needed for steam)
Contributor

Sortale commented Nov 22, 2017

Zero-K-itch-1.0.3.tar.gz

updated to @Licho1 request

  • sqlite installed
  • arguments passed to launcher (needed for steam)
@lagerspetz

This comment has been minimized.

Show comment
Hide comment
@lagerspetz

lagerspetz Nov 22, 2017

Contributor

Hi guys, why is sqlite needed? mono-complete pulls libmono-cil-dev which pulls libmono-sqlite4.0-cil which pulls libsqlite-3-0.

Contributor

lagerspetz commented Nov 22, 2017

Hi guys, why is sqlite needed? mono-complete pulls libmono-cil-dev which pulls libmono-sqlite4.0-cil which pulls libsqlite-3-0.

@Licho1

This comment has been minimized.

Show comment
Hide comment
@Licho1

Licho1 Nov 23, 2017

Member

in that case its not needed. Sqlite is needed by game analytics which is used to send usage data.

Member

Licho1 commented Nov 23, 2017

in that case its not needed. Sqlite is needed by game analytics which is used to send usage data.

@Anarchid

This comment has been minimized.

Show comment
Hide comment
@Anarchid

Anarchid Nov 27, 2017

Member

Monokickstart was suggested as an option to resolve this problem.

  • Packs mono in a distro-agnostic fashion (no dependency on any repository, including steam!)
  • Can handle multiarch
  • Can also pack any other library, not just mono (SDL2 is specifically mentioned)
Member

Anarchid commented Nov 27, 2017

Monokickstart was suggested as an option to resolve this problem.

  • Packs mono in a distro-agnostic fashion (no dependency on any repository, including steam!)
  • Can handle multiarch
  • Can also pack any other library, not just mono (SDL2 is specifically mentioned)
@Licho1

This comment has been minimized.

Show comment
Hide comment
@Licho1

Licho1 Dec 16, 2017

Member

script used in steam now 692d759

Member

Licho1 commented Dec 16, 2017

script used in steam now 692d759

@Licho1 Licho1 closed this Dec 16, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment