User Tools

Site Tools


en:games:star_trek_-_voyager_eliteforce

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:games:star_trek_-_voyager_eliteforce [2020-05-24-00-11]
7saturn [cMod]
en:games:star_trek_-_voyager_eliteforce [2020-06-01-09-52] (current)
7saturn [cMod]
Line 161: Line 161:
 ==== Graphics Problems with ATI/AMD Graphics Cards on New Systems ==== ==== Graphics Problems with ATI/AMD Graphics Cards on New Systems ====
 The OpenGL implementation of AMD graphics cards often causes problems with old games. There is apparently a workaround that is described [[https://​fdossena.com/?​p=stvef/​i.md|here]]. The OpenGL implementation of AMD graphics cards often causes problems with old games. There is apparently a workaround that is described [[https://​fdossena.com/?​p=stvef/​i.md|here]].
-==== Location of the config files/​mods/​maps ​==== +===== Replacement Binaries/Newer Versions ​of EF ===== 
-Even though it may be a bit confusing at the beginning, there is not only one place where the settings for the game are stored. With a standard installation from CD, without mods or newer versions than 1.2, the files are located under ''​baseEF''​ in the EF games folder or in the corresponding folders of the mods in the games directory. For the mod Pinball for example, instead of the subfolder ''​baseEF''​ this is the folder ''​pinball''​. With the binaries of ioEF or Lilium Voyager things look different again. Because here (as it should have been for the original version of Raven) the files are stored in the user directory. This has the advantage that every user can have his own configuration and installed mods, maps, models, etc. and no user needs write access to the game directory. +After the Quake 3 engine became open source, some people started patching Quake 3 and adding features. A certain Thilo Schulz also used this opportunity to write patches based on it for EF. 
- + A brief outline of practical changes:
-=== Standard EF up to Win Vista === +
- +
-The game stores its data inside the installation folder, as is described above, differentiatet by the mod folder. The worst case scenario is an NTFS file system with prevents the game from saving the settings at all. +
- +
-=== Standard EF from Win 7 on === +
- +
-When placing the game inside the folder ''​Program Files''​ or ''​Program files (x86)''​ of your Windows drive, it can occur, that for the above mentioned reasons you cannot save settings inside the EF folder. For this situation the so-called Virtual Store functionality was introduced. It may help with that. Windows redirects writing access to the folder ''​%UserProfile%\AppData\Local\VirtualStore''​. So for  standard EF the settings may lie in folder ''​%UserProfile%\AppData\Local\VirtualStore\name of your EF base folder\''​. +
-=== Lilium Voyager === +
- +
-The settings on the three major systems, Windows, Linux and MacOS, are stored here: +
- +
-  * Linux: ''​~/.local/​share/​lilium-voyager/​baseEF'',​ +
-  * Windows: ''​%appdata%\Lilium Voyager\baseEF'' ​ and +
-  * MacOS: ''​~/​Library/​Application Support/​Lilium Voyager/​baseEF''​ +
- +
-or in the corresponding mod folders. +
- +
-=== cMod — return to old behavior === +
-cMod tries to behave in a similar fashion as original EF 1.2, meaning, it stores the config in the game folder. It does //not// store the config in the ''​baseEF''​ folder and the configuration file is called ''​cmod.cfg''​. So depending on the circumstances,​ it might also be, that this file is saved in another location, as is described in section [[#Standard EF from Win 7 on]]. +
-=== ioEF (Thilo Schulz'​ version) === +
-For this version the location is very similar in its structure as was described in section [[#​lilium_voyager|Lilium Voyager]] above: +
- +
-  * Linux: ''​~/​.stvef/''''​baseEF'',​ +
-  * Windows: ''​%appdata%\STVEF\baseEF'' ​ and +
-  * MacOS: ''​~/​Library/​Application Support/​STVEF/​baseEF''​ +
-However, the directory exists only after a first start of ioEF 1.34 or higher. +
-=== Custom location === +
-On ioQuake derived versions (Lilium Voyager, cMod, ioEF) there is also the possibility to explicitly tell the game, where to look for and place player'​s data. This is done by setting the variable ''​fs_homepath''​ during server or client start. For example +
- +
-''​./​liliumvoyhm.x86_64 +set fs_homepath ~/​my_ef_folder''​ +
- +
-makes the game look for data in the folder ''​my_ef_folder''​ in the current user's home folder (for Linux systems). This way it is possible, to kind of have multiple ​EF installations separately, e. g. with different (incompatible) mods active while actually having it installed just once. Files present inside the games installation folder, e. g. ''​*.pk3''​ files, are always found. So for running different mods with the same installation it is advisable, to strictly separate the configurations and mod files in different folders, whil having only the basic game with only its original files inside the installation folder. +
- +
-==== ioEF ==== +
-After the Quake 3 engine became open source, some people started patching Quake 3 and adding features. A certain Thilo Schulz also used this opportunity to write patches based on it for EF. (Today it's better to use [[#Lilium Voyager]] or [[#cMod]] right away, simply because that's where the work that Thilo has invested, is being continued.) ​A brief outline of practical changes:+
  
   * EF also for Linux   * EF also for Linux
Line 205: Line 170:
   * Settings are now in the user folder, not in the game folder (so each player have his own settings on the PC)   * Settings are now in the user folder, not in the game folder (so each player have his own settings on the PC)
   * With ''​ALT''​ + ''​TAB''​ you can switch from the game to some other application and back.   * With ''​ALT''​ + ''​TAB''​ you can switch from the game to some other application and back.
- +  * Even back then already some security bugs were known and fixed. See also [[https://​www.cvedetails.com/​vulnerability-list/​vendor_id-111/​product_id-766/​Id-Software-Quake-3-Arena.html]] and [[https://​www.cvedetails.com/​vulnerability-list/​vendor_id-111/​product_id-4759/​version_id-20745/​Id-Software-Quake-3-Engine-.html]]. So al least **for a server operator it is strongly recommended not to use the original EF 1.2 version** as it includes some well known security issues. 
-See also [[#​pak92.pk3]].+==== ioEF ==== 
 +So to say the very first incarnation of ioQuake3 based EF versions. It already contained many improvements but is not maintained any more today. Today it's better to use [[#Lilium Voyager]] or [[#cMod]] right away, simply because that's where the work that Thilo has invested, is being continued but more recent problems are fixed as well. See also [[#​pak92.pk3]].
  
 [[http://​beer-garden.n5net.com/​2011/​02/​09/​interview-thilo-schulz-ef-1-37-patch-author-ioq3-maintainer/​|Here]] is also a short interview with Thilo. [[http://​beer-garden.n5net.com/​2011/​02/​09/​interview-thilo-schulz-ef-1-37-patch-author-ioq3-maintainer/​|Here]] is also a short interview with Thilo.
Line 212: Line 178:
 The mod in version 1.37 can still be found on [[https://​www.moddb.com/​mods/​ioef|ModDB]],​ although there was a newer version 1.38 as a release candidate available at one time. The mod in version 1.37 can still be found on [[https://​www.moddb.com/​mods/​ioef|ModDB]],​ although there was a newer version 1.38 as a release candidate available at one time.
 ==== Lilium Voyager ==== ==== Lilium Voyager ====
-=== What's that? === 
 Since Thilo has stopped maintaining his EF patches at some point, there are no newer versions of him than the 1.38 RC 1. And even this one is no longer to be found on his former pages. His work is continued by Zack Middleton in the form of the project "​Lilium Voyager"​. It has the advantage, that many security bugs are fixed (especially interesting,​ if you are running an internet server) and adds some new features, including accelerated map downloads and [[#IPv6]] connectivity. Since Thilo has stopped maintaining his EF patches at some point, there are no newer versions of him than the 1.38 RC 1. And even this one is no longer to be found on his former pages. His work is continued by Zack Middleton in the form of the project "​Lilium Voyager"​. It has the advantage, that many security bugs are fixed (especially interesting,​ if you are running an internet server) and adds some new features, including accelerated map downloads and [[#IPv6]] connectivity.
-=== Where to get it ===+=== Where to get compiled binaries ​===
 The source files can be found [[https://​github.com/​zturtleman/​lilium-voyager|here]]. You can also find them precompiled in the [[#​Downloads]] above. The source files can be found [[https://​github.com/​zturtleman/​lilium-voyager|here]]. You can also find them precompiled in the [[#​Downloads]] above.
 +=== Building Lilium Voyager ===
 +As written above, only the source files are published. You have to compile the executables ("​binaries"​) yourself. How this works for Quake 3 and derived games (32 and 64 bit, different platforms) is described in article [[Building Lilium Voyager]].
 +==== cMod ====
 +There is another variation of EF based on ioQuake3 source, the cMod. At this point, some more information should be added here. The original resources can be found [[https://​stvef.org/​cmod.php|here]]. According to the maintainer of the project, Noah "​Chomenor"​ Metzger, the goal is not so much in a conservative direction as is with Lilium Voyager. So there are more experimental features included.
  
-=== Building it yourself ​=== +Especially arguable is the decision to once again save config and downloaded files to the game's folder. Original ioQuake3 was patched to store this kind of data inside the home folder of the user under which it is run. This of course also goes for running servers. This makes totally sense in terms of security and multi user usability. However the original EF was based on an earlier version of ID Tech's engine, which stored all this data inside the game folder as well. At least under Windows 7 and above, both ways can be combined by placing EF's folder inside the ''​Programs (x86)''​ folder and not giving writing access to the game's folder, which in turn will make Windows treat EF as legacy software. Thus, making all saves being stored in the home folder again. But this is not the goal of this change. 
-As written aboveonly the source files are publishedYou have to compile ​the executables ​("​binaries"​yourselfHow this works for Quake 3 and derived ​games (32 and 64 bitdifferent platforms) is described below.+==== vitaVoyager ==== 
 +Apparently there is also a fork of Lilium Voyager for the [[https://​en.wikipedia.org/​wiki/​PlayStation_Vita|Playstation Vita]]. Up to this pointthere is not much information to go on, except for the source ​of this information:​ [[https://​wololo.net/​talk/​viewtopic.php?​t=49863#​p424868]]. 
 +===== Location of the config ​files/mods/maps ===== 
 +Even though it may be a bit confusing in the beginning, there is not only one place where the settings for the game are storedWith a standard installation from CD, without mods or newer versions than 1.2, the files are located under ''​baseEF''​ in the EF games folder or in the corresponding folders of the mods in the games directory. For the mod Pinball for example, instead of the subfolder ''​baseEF''​ this is the folder ''​pinball''​. The worst case scenario here is an NTFS file system which prevents the game from saving the settings at all. With the binaries of ioEF or Lilium Voyager things look different again. Because here (as it should ​have been for the original version of Raven) the files are stored in the user directory. This has the advantage that every user can have his own configuration and installed mods, maps, models, etc. and no user needs write access ​to the game directory. The following list considers the main mod, ''​baseEF''​ to be the target of the savings. For other mod names change the ''​baseEF''​ part into the name of the folder the mod requires. 
 +^ OS ^ EF 1.2 and older ^ Lilium Voyager ^ cMod ^ ioEF ^ 
 +| Windows up to Win Vista | Game folder | ''​%appdata%\Lilium Voyager\baseEF''​ | Game folder | ''​%appdata%\STVEF\baseEF''​ | 
 +| Windows from Win 7 on | ''​%UserProfile%\AppData\Local\VirtualStore\<​nowiki><​name of your EF game folder></​nowiki>​\'' ​(only when stored in folders ''​Program Files''​ or ''​Program files (x86)''​ of your Windows drive) | ''​%appdata%\Lilium Voyager\baseEF''​ | Game folder | ''​%appdata%\STVEF\baseEF''​ | 
 +| Linux | untested (requires Wine| ''​~/​.local/​share/​lilium-voyager/​baseEF''​ | Game folder | ''​~/​.stvef/''''​baseEF''​ | 
 +| MacOS | untested | ''​~/​Library/​Application Support/​Lilium Voyager/​baseEF''​ | Game folder | ''​~/​Library/​Application Support/​STVEF/​baseEF''​ | 
 +==== cMod Config File Renamed ==== 
 +cMod tries to behave in a similar fashion as original EF 1.2, meaning, it stores the config and downloaded files in the game folder. It does //not// store the config in the ''​baseEF''​ folder and the configuration file is called ''​cmod.cfg''​. So depending on the circumstances,​ it might also be, that this file is saved in another location, as is described ​for [[#Standard EF from Win 7 on]]. 
 +==== Custom location ==== 
 +On ioQuake ​derived ​versions ​(Lilium VoyagercMod, ioEFthere is also the possibility to explicitly tell the game, where to look for and place player'​s data. This is done by setting the variable ''​fs_homepath''​ during server or client startFor example
  
-For the source files of Lilium Voyager please use [[https://​github.com/​zturtleman/​lilium-voyager|these sources]]. The git URL is ''​https://github.com/zturtleman/​lilium-voyager.git''​+''​./liliumvoyhm.x86_64 +set fs_homepath ~/my_ef_folder''​
-== Linux == +
-On Linux it is possible to build for both variations, x86 and amd64. It is also possible to cross compile for Windows (32 and 64 bit), see next section for that. To compile on Linux you require the following prerequisites installed:+
  
-  * ''​git''​ (versioning tool) and +makes the game look for data in the folder ''​my_ef_folder'' ​in the current user's home folder (for Linux systems). This way it is possible, to kind of have multiple EF installations separately, e. g. with different ​(incompatiblemods active while actually having ​it installed just onceFiles present inside ​the games installation foldereg. ''​*.pk3'' ​filesare always found as wellSo for running ​different mods with the same installation ​it is advisable, to strictly separate ​the configurations ​and mod files in different ​folders, ​while having only the basic game with only its original ​files inside ​the installation ​folder.
-  * ''​libsdl2-dev''​ (SDL 2 development package). +
- +
-Once you have installed these packages, you can start with cloning ​the git repository on the console, containing the EF sources, like this: +
- +
-''​git clone https://​github.com/​zturtleman/​lilium-voyager.git''​ +
- +
-It will download the new source files to a newly created ​folder ''​lilium-voyager''​. Switch to it and run ''​make''​. This will build EF for your own platform. The resulting binaries will be placed inside ​the subfolder ​''​build'',​ e. g. for an AMD 64 architecture the folder ​''​release-linux-x86_64''​ will be created. From there you only need the following four files: +
- +
-  * ''​liliumvoyded.x86_64'' ​(dedicated server binary, used to set up a server)+
-  * ''​liliumvoyhm_renderer_opengl1_x86_64.so''​ (graphics library), +
-  * ''​liliumvoyhm_renderer_opengl2_x86_64.so''​ (graphics library), +
-  * ''​liliumvoyhm.x86_64''​ (client binary, used to play on a server). +
- +
-If you want to update an already existing Lilium Voyager folderjust run ''​git pull''​ for updating the source repository and run ''​make clean''​ (removing files created during earlier run) and afterwards ''​make''​ to run the compilation process again. +
- +
-If you want to create binaries for another architecture than you own (e. g. compile x86 binaries on an amd64 system), you can specify this with the ''​ARCH''​ property. For the former example the command would be +
- +
-''​make ARCH=x86''​. +
- +
-So what ''​make''​ actually does on an amd64 system is the same as ''​make ARCH=x86_64''​. +
- +
-== Cross compile for Windows via Linux == +
-For cross-compiling from Linux to Windows the MingW environment is necessary. Use something like ''​sudo apt-get install mingw-w64''​ for x64 or ''​sudo apt-get install mingw''​ for x86 Linux (here: for Debian & derived distributions...to install ​it. Then run the compilation process like this: +
- +
-''​make PLATFORM=mingw32 ARCH=x86_64''​ (64 bit) or +
- +
-''​make PLATFORM=mingw32 ARCH=x86''​ (32 bit). +
-== MacOS == +
-You will need to run the bash on MacOS and also install git. Check out the source files from the git repository as described for Linux. Then run the following command: +
- +
-''​./​make-macosx.sh x86_64''​. +
- +
-As MacOS today only comes as 64 bit versionthis should be all you needFrom the results in the build directory, you will only need the following elements: +
- +
-  * ''​Lilium Voyager.app'' ​(Quick starter for the game) or +
-  ​''​liliumvoyded.x86_64'' ​(for setting up a dedicated server), +
-  * ''​liliumvoyhm_renderer_opengl1_x86_64.dylib''​ (graphics library), +
-  * ''​liliumvoyhm_renderer_opengl2_x86_64.dylib''​ (graphics library), +
-  * ''​liliumvoyhm.x86_64''​ (game binary) and +
-  * ''​libSDL2-2.0.0.dylib''​ (SDL library). +
- +
-If you're running Mac OS 10.6.x and have the Mac OS 10.5 developer SDK you can make a universal binary ​for ppc, x86, and x86_64 that is compatible with OS X 10.5 or later Mac OS versions. +
- +
-  * Remove the build directory if you previously built ioq3 using make, because it defaults to 10.7 compatibility. +
-* Run ''​./​make-macosx-ub.sh''​ +
- +
-If you'​re ​running ​Mac OS 10.7 or newer you can build a x86 / x86_64 universal binary that is compatible ​with 10.7 or later. (Not particularly useful since all Mac OS 10.7 and later are x86_64.) +
- +
-  * Run ''​make ARCH=x86''​ or +
-  * ''​make ARCH=x86_64''​ and +
-  * run ''​./​make-macosx-app.sh release''​. +
-== Windows - msys2 == +
-**64-Bit Binaries** +
- +
-To build 64-bit binaries, follow these instructions:​ +
- +
-  - Ordered List ItemInstall msys2 from https://​msys2.github.io/​ , following ​the instructions there. It doesn'​t matter which version you download, just get one appropriate for your OS. +
-  - Start "MSYS2 MinGW 64-bit"​ from the Start Menu. +
-  - Install mingw-w64-x86_64:​ ''​pacman -S mingw-w64-x86_64-gcc''​ +
-  - Install make: ''​pacman -S make''​ +
-  - Grab latest ioq3 source code from github. Use git, or just grab https://​github.com/​ioquake/​ioq3/​archive/​master.zip and unzip it somewhere. +
-  - Change directory to where you put the source and run make. Note that in msys2, your drives are linked as folders in the root directory: C:\ is /c/D:\ is /d/, and so on: +
-<​code>​cd /c/ioq3 +
-make ARCH=x86_64</​code>​ +
-  - Find the executables and dlls in ''​build/​release-mingw64-x86_64''​. +
-**32-Bit Binaries** +
- +
-To build 32-bit binaries, follow these instructions:​ +
-  - Install msys2 from https://​msys2.github.io/,​ following the instructions there. It doesn'​t matter which version you download, just get one appropriate for your OS. +
-  - Start "MSYS2 MinGW 32-bit"​ from the Start Menu. +
-  - Install mingw-w64-i686-gcc:​ ''​pacman -S mingw-w64-i686-gcc''​ +
-  - Install make from msys: ''​pacman -S make''​ +
-  - Grab latest ioq3 source code from github Use git, or just grab https://​github.com/​ioquake/​ioq3/​archive/​master.zip and unzip it somewhere. +
-  - Change directory ​to where you put the source ​and run make. Note that in msys2, your drives are linked as folders ​in the root directory: C:\ is /c/D:\ is /d/, and so on. +
-<​code>​cd /c/ioq3 +
-make ARCH=x86 WINDRES="​windres -F pe-i386"</​code>​ +
-  - Find the executables and dlls in build/​release-mingw32-x86 .  +
-== Windows - cygwin == +
-**1. Install Cygwin** +
- +
-Download the Cygwin setup package from http://​cygwin.com/​install.html. +
- +
-Choose either the 32-bit or 64-bit environment. 32-bit will work fine on both 32 and 64 bit versions of Windows. The setup program is also your Cygwin environment updater. If you have an existing Cygwin environment,​ the setup program will, by default, update your existing packages. +
- +
-Choose where you want to install Cygwin. The entire environment is self-contained in it's own folder, but you can also interact ​with files from outside ​the environment if you want to as well. The default install path is ''​C:​\Cygwin''​. +
-  - Choose a mirror to download packages from, such as the kernel.org mirrors. +
-  - Choose a "​storage area" for your package downloads. +
- +
-**2. Package selection** +
- +
-The next screen you see will be the package selections screen. In the upper left is a search box. This is where you will want to search for the necessary packages. +
- +
-These are the package names you'll want to search for: +
- +
-  * ''​mingw64-i686-gcc-core''​ (for building 32bit binaries),​ +
-  * ''​mingw64-i686-gcc-g++''​ (also for 32bit... C++ support... not required for ioquake3, but useful for compiling other software),​ +
-  * ''​mingw64-x86_64-gcc-core''​ (for building 64bit binaries),​ +
-  * ''​mingw64-x86_64-gcc-g++''​ (for 64bit, same as above), +
-  * ''​make'',​ +
-  * ''​bison''​ and +
-  * ''​git''​. +
- +
-When you search for your packages you'll see category listings. These packages would all be under the "​Devel"​ category. +
- +
-To select a package, change the '​Skip'​ to the version of the package you want to install. The first click will be the newest version and subsequent clicks will allow you to choose older versions of the package. In our case here, you're probably good choosing the latest and greatest. +
- +
-**3. Install packages** +
- +
-After you have selected your packages, just hit '​Next'​ in the lower right. Cygwin will automatically add package dependencies. Hit next again to let the install run. Done. +
- +
-The entire environment uses about 1GB of disk space (as opposed to about 6GB for a Visual Studio install). +
- +
-**4. Using Cygwin to check out and build ioquake3** +
- +
-After the install has completed you should have a '​Cygwin Terminal'​ icon on your Desktop. This is the bash shell for Cygwin, so go ahead and run it. +
- +
-At the command prompt type: ''​git clone https://​github.com/​zturtleman/​lilium-voyager.git''​ +
- +
-This will download the Lilium Voyager master branch source into a new ''​lilium-voyager'' ​folder+
- +
-Change to the folder that was created: ''​cd lilium-voyager''​ +
- +
-You can build EF for 32 or 64 bit Windows by running one of the following +
- +
-  * ''​make ARCH=x86''​ (32 bit) or +
-  * ''​make ARCH=x86_64''​ (64 bit). +
- +
-After the build completes the output files will be in the ''​build''​ folder. The path would be ''​C:​\Cygwin\home\<​nowiki><​username></​nowiki>​\lilium-voyager\build\release-mingw32-arch''​ for the default Cygwin install. +
-==== cMod ==== +
-There is another variation of EF based on ioQuake3 source, the cMod. At this point, some more information should be added here. The original resources can be found [[https://​stvef.org/​cmod.php|here]]. +
-==== vitaVoyager ==== +
-Apparently there is also a fork of Lilium Voyager for the [[https://​en.wikipedia.org/​wiki/​PlayStation_Vita|Playstation Vita]]. Up to this point, there is not much information to go on, except for the source of this information:​ [[https://​wololo.net/​talk/​viewtopic.php?​t=49863#​p424868]].+
 ===== IPv6 ===== ===== IPv6 =====
 If you are hosting a match on a computer with IPv6 address, the game also waits for connections via your IPv6 stack, when using [[#Lilium Voyager]]. If a player decides to connect to that server via IPv6, he has to enter the address in the fashion ''​[block1:​block2:​...:​blockn]''​ into the specify server fields. Notice the brackets around, they are required. The ''::''​ abbreviations are also allowed. If you are hosting a match on a computer with IPv6 address, the game also waits for connections via your IPv6 stack, when using [[#Lilium Voyager]]. If a player decides to connect to that server via IPv6, he has to enter the address in the fashion ''​[block1:​block2:​...:​blockn]''​ into the specify server fields. Notice the brackets around, they are required. The ''::''​ abbreviations are also allowed.
en/games/star_trek_-_voyager_eliteforce.1590271865.txt.gz · Last modified: 2020-05-24-00-11 by 7saturn