Mixed Android/Linux issue - Versions
Hi there.
I'm pretty new to this kind of games,and githb in general.
I was quite happy top be able to build a running version of Empty epsilon, but stumbled in a problem i was unable to solve:
I buildt the the files in Linux (Ubuntu 16.04) and it was running.
I installed the APK and was not able to connect to the server.
After a few minutes i found the issue (I guess):
The Linux machine runs version 2017.04.16 and the APK is version 2017.02.23
Being new to github and building from sources i tried the following:
I went to https://github.com/daid/EmptyEpsilon/tree/EE-2017.02.23 , deleted the emptyepsilon folder on my machine, downloaded the ZIP and tried to build again.
But, Alas!
I got version 2017.04.16 again... where is my mistake?
I'm pretty new to this kind of games,and githb in general.
I was quite happy top be able to build a running version of Empty epsilon, but stumbled in a problem i was unable to solve:
I buildt the the files in Linux (Ubuntu 16.04) and it was running.
I installed the APK and was not able to connect to the server.
After a few minutes i found the issue (I guess):
The Linux machine runs version 2017.04.16 and the APK is version 2017.02.23
Being new to github and building from sources i tried the following:
I went to https://github.com/daid/EmptyEpsilon/tree/EE-2017.02.23 , deleted the emptyepsilon folder on my machine, downloaded the ZIP and tried to build again.
But, Alas!
I got version 2017.04.16 again... where is my mistake?
Comments
The default is to use the current system date for the version number.
But however, you can change that by editing the file CMakeLists.txt
Recently, there was also an update to allow to override the default on the cmake commandline, however it did not work for me last time I tried.
But maybe I just made a typo, so you can try this first:
https://github.com/daid/EmptyEpsilon/pull/434
If it won't work, do this:
- open the file CMakeLists.txt in your EmptyEpsilon source directory
- search the line add_definitions(-DVERSION_NUMBER=${CPACK_PACKAGE_VERSION_MAJOR}${CPACK_PACKAGE_VERSION_MINOR}${CPACK_PACKAGE_VERSION_PATCH})
- now you can either set the version number by replacing everything after the "=" sign, or comment out the line (placing a # in front of it).
Commenting out will set the number to 0, which is meant for debugging and accepted by all versions.
But - isn't that a bit.. counterintuitive and... wierd.. for a game that is supposed to be played by multiple players on multiple computers?
Do you expect every player to install the game the same day the server guy did?
The build date sets the game version, so if you make any changes to the code the old clients can't connect and possibly break/crash the game. The releases on emptyepsilon.org are the official releases.
it will builds a .deb package from the installed files (in this case, but can also build rpm or slackware/tgz packages)
To install it, just do an
apt-get install checkinstall
(in debian, but should be in the ubuntu repos as well)now you can follow the build instructions on github, but replace the line
make install
with a simplecheckinstall
a text-based menu will appear, which should be pretty much self-explainatory.
Not just for EE, but for most programs that you would build from source it brings some benefits:
- you can easily uninstall it
- you get a package that you can install on other computers (of the same architecture at least) without having to recompile again
the latter is the most important one in this case.
So you can just build one version for every architecture (either the same day or by changing the date as I mentioned) and then install them whenever you want.
Just keep in mind that the built packages does not have proper informations about the dependencies by default, so you have to install them first on the target machines. (For convenience, you can just use the dependency list from the building guide)