Update README.md

This commit is contained in:
pierow 2023-08-31 23:40:10 -04:00 committed by GitHub
parent 5cb0039a41
commit c836094b9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,6 +1,6 @@
# Natural Selection v3.3 # Natural Selection v3.3
An updated build of the game [Natural Selection] for Windows and Linux focused on quality of life improvements and bug fixes. An updated build of the game [Natural Selection] for Windows and Linux focused on quality-of-life improvements and bug fixes. For a new custom-built bot for NS, go check out [Evobot].
## Downloads ## Downloads
@ -10,7 +10,7 @@ The **[Natural Selection Launcher](https://github.com/ENSL/NaturalLauncher/relea
As the game is a Half-Life mod, Steam and Half-Life installations are required to play the game. As the game is a Half-Life mod, Steam and Half-Life installations are required to play the game.
A fresh install of NS comes with updated config files containing everything you need to get playing on the standard settings most players prefer. Customization options are also built in like the Nine Legends competitve UI option as well as team and weapon specific config files that can be edited. A fresh install of NS comes with updated config files containing everything you need to get playing on the standard settings most players prefer. Customization options are built into the advanced options menu, like the Nine Legends competitive UI option. For further customization, team and weapon specific config files are also now available.
## Game not working? Troubleshooting tips ## Game not working? Troubleshooting tips
@ -24,28 +24,24 @@ If the game doesn't load, check the following:
For Linux: For Linux:
- Remove or rename the `libstdc++so.6` provided by steam or steamcmd so the linux distro's can be used instead. The one steam provides is outdated. - Remove or rename the `libstdc++so.6` provided by steam or steamcmd so the linux distro's can be used instead. The one steam provides is outdated.
- 32 bit C libraries might need to be installed. Try `apt-get install libc6-i386` if on debian or ubuntu. - 32 bit C libraries might need to be installed. Try `apt-get install libc6-i386` if on debian or ubuntu. The libm.so.6 from it may need to be placed in your half-life or HLDS folder if you cannot install that package.
## Changes ## Changes
Updates include: Updates include:
- Natural Selection Launcher for installing and updating the game
- Widescreen support (now expands FOV up to 16:9 aspect instead of cropping the image) - Widescreen support (now expands FOV up to 16:9 aspect instead of cropping the image)
- AI upscaled model textures can be turned on with the "Use High Definition models" video option - AI upscaled model textures can be turned on with the "Use High Definition models" video option
- Many FPS dependent bugs fixed, including jetpack acceleration, so the game can now be fairly played at 200+ FPS - Many FPS dependent bugs fixed, including jetpack acceleration, so the game can now be fairly played at 200+ FPS
- Quake style queued jumping to make bunnyhopping more accessible (server adjustable via sv_jumpmode) - Quake style queued jumping to make bunnyhopping more accessible (server adjustable via sv_jumpmode)
- Shotgun and grenade launcher have been reworked to fix reload bugs - Shotgun and grenade launcher have been reworked to fix reload bugs and animate better
- Weapon reloads are now predicted on the client - Weapon reloads are now predicted on the client
- New minimal HUD and the Nine Legends HUD can be selected through advanced options or hud_style and hud_mapstyle - New minimal HUD and the Nine Legends HUD can be selected through advanced options or hud_style and hud_mapstyle
- New crosshair system that can be adjusted through the advanced options and cl_cross commands (Thanks [OpenAG](https://github.com/YaLTeR/OpenAG)) - New crosshair system that can be adjusted through the advanced options and cl_cross commands (Thanks [OpenAG](https://github.com/YaLTeR/OpenAG))
- Ambient sounds can be changed in advanced options or via cl_ambientsound - Ambient sounds can be changed in advanced options or via cl_ambientsound
- Marine HUD now tracks research progress and alien HUD tracks hive growth - The marine HUD now tracks research progress and the alien HUD tracks hive growth
- Raw input and sensitivity scaling options now available - Raw input and sensitivity scaling options are now available and non-accelerated mouse input is now default
- Lerks no longer stick to the ground if they touch it when gliding - The many other improvements, customization options, and bug fixes can be found in the [release notes](https://github.com/ENSL/NS/releases)
- Players can change lifeform and use the popup menu in pregame warmup
- Numerous bug fixes
## Compiling ## Compiling
@ -56,7 +52,7 @@ For Linux:
First you need some libraries. On Ubuntu it is: First you need some libraries. On Ubuntu it is:
```sh ```sh
apt-get install build-essential git gdb gcc-multilib g++-multilib libc6-i386 mesa-common-dev apt-get install build-essential git gdb gcc-multilib g++-multilib libc6-dev-i386 mesa-common-dev
``` ```
Then you will need to get the files: Then you will need to get the files:
@ -74,7 +70,7 @@ make
``` ```
or `make ns` to build the server binary and `make cl_dll` for the client binary. `make clean` to clean. or `make ns` to build the server binary and `make cl_dll` for the client binary. `make clean` to clean.
If you get the this error when running the app: `Fatal Error - could not load library (client.so)`, With a high chance it is because of some `UNDEFINED SYMBOLS` in the shared library. But you can check this with this command: If you get this error when running the app: `Fatal Error - could not load library (client.so)`, With a high chance it is because of some `UNDEFINED SYMBOLS` in the shared library. But you can check this with this command:
``` sh ``` sh
ldd -r -d client.so ldd -r -d client.so
@ -83,14 +79,15 @@ ldd -r -d client.so
Make sure you have vgui.so copied to the cl_dll folder too on Linux. Make sure you have vgui.so copied to the cl_dll folder too on Linux.
## Debugging ## Debugging
For Windows:
Debug builds can be built with the `Debug` build option. The other debug options are currently broken and are a reference from the original UWE source release. After building the debug version and running it, attach the visual studio debugger to hl.exe.
Windows debug builds are currently broken. For Linux:
If you want to debug: If you want to debug:
```sh ```sh
LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" gdb ./hl_linux r -game ns -dev -steam LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" gdb ./hl_linux r -game ns -dev -steam
``` ```
Due to the new engine and the nature of Linux I had to make a lot of changes! You can find them with grep -Ril `@Linux`. Due to the new engine and the nature of Linux a lot of changes were made. You can find them with grep -Ril `@Linux`.
For MacOS & lldb: For MacOS & lldb:
``` ```
@ -100,7 +97,7 @@ Have to use XCode's lldb to get around https://stackoverflow.com/a/33589760 (Lac
### Hosting a server ### Hosting a server
Since servers are really rare at this point in time here is a tutorial how to set up an [Natural Selection] server with [hlds]. How to set up a [Natural Selection] server with [HLDS].
1. Follow these steps to get steamCMD installed and HLDS updated in it: https://developer.valvesoftware.com/wiki/SteamCMD 1. Follow these steps to get steamCMD installed and HLDS updated in it: https://developer.valvesoftware.com/wiki/SteamCMD
2. You'll want to run `app_update 90 validate` multiple times in steamCMD to install HLDS and fully update it, as it won't completely do it the first time. 2. You'll want to run `app_update 90 validate` multiple times in steamCMD to install HLDS and fully update it, as it won't completely do it the first time.
@ -109,31 +106,36 @@ Since servers are really rare at this point in time here is a tutorial how to se
```sh ```sh
./hlds_run -game ns -autoupdate +map ns_eclipse + sv_secure 1 + port 27015 +hostname "Natural Selection" +maxplayers 32 ./hlds_run -game ns -autoupdate +map ns_eclipse + sv_secure 1 + port 27015 +hostname "Natural Selection" +maxplayers 32
``` ```
See the [Troubleshooting Tips](https://github.com/ENSL/NS#game-not-working-troubleshooting-tips) for fixes to linux server issues.
If you are behind a NAT(Router) make sure to open at least those ports: If you are behind a NAT(Router) make sure to open at least those ports:
- 27015 UDP (game transmission, pings) - 27015 UDP (game transmission, pings)
- 26900 UDP (VAC service) -- automatically increments if used in case of additional server processes - 26900 UDP (VAC service) -- automatically increments if used in case of additional server processes
`Under no circumstances expose your host to the internet!!!` For more information follow [this link](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server). For more information see the [HLDS valve wiki](https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server).
In order to check if you server is connected to the steam servers copy the following url in your browser and replace `<your IP address>` with your external ip: In order to check if your server is connected to the steam servers copy the following url in your browser and replace `<your IP address>` with your external ip:
`http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=<your IP address>&format=json` `http://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=<your IP address>&format=json`
There is an updated version of metamod called [metamodp](http://metamod-p.sourceforge.net/). Since players are also pretty rare you might want to install [rcbot] and therefore you have to download those files: There is an updated version of metamod called [metamod-p](https://github.com/APGRoboCop/metamod-p/).
- [rcbot without dlls](http://filebase.bots-united.com/index.php?act=download&id=210)
- [rcbot linux dlls](http://filebase.bots-united.com/index.php?act=download&id=428)
### Usefull links There are a few different bots for Natural Selection, with Evobot being the newest and most comprehensive:
* [Evobot]
* [RCbot](http://rcbot.bots-united.com/)
* [Whichbot](https://whichbot.sourceforge.net/)
* [Usefull collection of ns files server addons, maps and everything ](http://www.brywright.co.uk/downloads/files/index.php?dir=natural-selection/) ### Useful links
* [Game manual (some outdated info)](https://www.unknownworlds.com/oldwebsite/manuals/comm_manual/basic/index.htm) * [Game manual (some outdated info)](https://www.unknownworlds.com/oldwebsite/manuals/comm_manual/basic/index.htm)
* [rcbot downloads](http://filebase.bots-united.com/index.php?act=category&id=19) * Useful collections of ns files: server addons, maps and more:
* [dillinger.io markdown editor](http://dillinger.io/) * [Brywright](http://www.brywright.co.uk/downloads/files/index.php?dir=natural-selection/)
* [Number-7](http://number-7.com/)
[Natural Selection]: <http://unknownworlds.com/ns/> [Natural Selection]: <http://unknownworlds.com/ns/>
[Unknownworlds Entertainment]:<https://github.com/unknownworlds/NS> [Unknownworlds Entertainment]:<https://github.com/unknownworlds/NS>
[Steam]: <http://store.steampowered.com/about/> [Steam]: <http://store.steampowered.com/about/>
[hlds]:<https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server> [HLDS]:<https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server>
[rcbot]:<http://filebase.bots-united.com/index.php?act=category&id=19> [rcbot]:<http://filebase.bots-united.com/index.php?act=category&id=19>
[Evobot]:<https://github.com/RGreenlees/evobot_mm>
Half Life 1 SDK LICENSE Half Life 1 SDK LICENSE
@ -170,4 +172,3 @@ EXCLUDED CODE AND LIBRARIES
Original code and design by Charlie Cleveland (charlie@unknownworlds.com, @flayra). Original code and design by Charlie Cleveland (charlie@unknownworlds.com, @flayra).
Many contributions from Karl Patrick (karl.patrick@gmail.com), Petter Rønningen <tankefugl@gmail.com>, Harry Walsh <harry.walsh@gmail.com>, and probably lots of people I forgot. Many contributions from Karl Patrick (karl.patrick@gmail.com), Petter Rønningen <tankefugl@gmail.com>, Harry Walsh <harry.walsh@gmail.com>, and probably lots of people I forgot.