Giter Site home page Giter Site logo

eukara / freecs Goto Github PK

View Code? Open in Web Editor NEW
177.0 14.0 16.0 4.88 MB

Clean-room Counter-Strike 1.5 in QuakeC, using Nuclide SDK. Previously known as OpenCS! (2016)

License: ISC License

Makefile 0.26% C 49.36% C++ 48.25% Shell 2.13%
quakec nuclide fteqw game

freecs's People

Contributors

aitet avatar eukara avatar mikota avatar tijon1 avatar xylemon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freecs's Issues

Movement stutters

Movement in game has been sluggish/laggy/teleporty for me, both on Linux and Windows, both on FreeCS and FreeHL. I've been using the latest binaries from fte's website, didn't build from source.

stuttery.movement.mp4

Cvars/commands that have had an impact on making the movement more smooth (way less of these hitches/stutters):

  • cl_yieldcpu 0
  • cl_threadedphysics 1

Cvars/commands that I've tried but have had no impact:

  • upping the cl_netfps
  • cl_nopred 1
  • pr_no_playerphysics 1

One thing that is interesting and might or might not be related is the output of sv_showpredloss 1. Setting that cvar spams this in the console:

yes: ignoring 13 msecs (anti speed cheat)

Around 3 or 4 times a second.

wiki

one of the issues i've had is documentation - i don't think its comprehensive enough and what there is, is spread out over at least 3 or 4 different websites and some of it is conflicting - this is a problem for users which may well result in less of them, thus less feedback

apparently there used to be a wiki here (i found links to it elsewhere, all 404 now) and i'd like to suggest re-adding it, either here or elsewhere - i will be happy to author and maintain it

Console errors

Just a few console errors appearing on the following maps:

  • on all

sfx sample player/pl_sand1.wav does not exist!
sfx sample player/pl_sand2.wav does not exist!
sfx sample player/pl_sand3.wav does not exist!
sfx sample player/pl_sand4.wav does not exist!
no soundDef found for player.spraylogo

  • de_chetau

infodecal tracing failed at 2240.81 1011.1 173.925
infodecal tracing failed at 2042.44 1217.18 185.509

  • de_survivor

no soundDef found for func_breakable.impact_tile
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock

  • de_vegas

no soundDef found for func_breakable.impact_tile
no soundDef found for func_breakable.impact_cinderblock
no soundDef found for func_breakable.impact_cinderblock
Cannot find entity class game_team_master
Cannot find entity class game_team_master

Tested on:
Commits: e744c22
eukara/freehl@f61c7af
VeraVisions/nuclide@45d58a8
OS: Debian 12 Alpha 1
Backend: SDL2
Render type: OpenGL
Data files: Shareware (from the script)

Packaging ?

I'm trying to figure out how to package FreeHL and FreeCS, trying FreeHL right now.

I was able to replicate your FreeHL release by copying valve/manifest.fmf to default.fmf and from copying nuclide/platform to platform, where nuclide is nuclide's repo.

So my directory looks like this: default.fmf platform valve.

My problem is that for a package this will all be read-only, and I want later on that the user supplies the assets. Is there a way to get pak0_steam.pk3dir, or whatever directory name the assets have, read from some other place ? Like in ~/.local/share/freehl/pak0_steam.pk3dir.

I also saw in the issues and from fteqw's commits that it now has a -halflife flag. What does this do exactly ?

dedicated server questions

@eukara - if/when you get a chance, i'd really appreciate if you could have a close look at my config and provide any feedback you might have

the object is to have a fully functioning cstrike server that is reasonably secure

this all seems to work, it's just a matter of tuning it

user group & permissions:

# useradd --system -U -s /usr/bin/nologin fteqw
# chown --recursive fteqw:fteqw /usr/share/games/halflife/*
# chmod --recursive u=rw /usr/share/games/halflife/*
# chmod --recursive g=r /usr/share/games/halflife/*
# chmod --recursive o= /usr/share/games/halflife/*
# chmod u=rx /usr/share/games/halflife/fteqw-sv64
# chmod g=r /usr/share/games/halflife/fteqw-sv64

cstrike/server.cfg:

hostname "FreeCS Test Server"
set sv_public 0
set deathmatch 1
set coop 0
set maxplayers 16
set timelimit 20
set pausable 0
map de_dust2

unit:
ExecStart=/usr/share/games/halflife/fteqw-sv64 -nohome -readonly -game cstrike -svport 64444

Instant death by fall

If you jump and accidentally "catch" on objects and hang like that for a couple of seconds, there will be instant death because of the fall.

FreecsDeath.mp4

This bug can also be reproduced in FreeHL:

FreehlDeath.mp4

Tested on:
Commits: e744c22
eukara/freehl@5b9db50
VeraVisions/nuclide@9deb12b
OS: Debian 11
Backend: SDL2
Render type: OpenGL
Data files: Shareware (from the script)

install questions

hi again

  1. when the archive is extracted there is a 'cstrike' folder - where does this folder need to be placed?
  2. how do you start the game? i tried ./fteqw64 -cstrike but that doesn't work (i tried with the cstrike folder next to the valve folder, as well as within the valve folder)

FreeCS doesn't find listen server on LAN, but can join it through console

Starting with a fresh install of FreeHL (4-18-2023) with assets pulled from retail disc, and FreeCS (4-18-2023) with assets downloaded using the install_from_archiveorg.sh script.

Both of these are linux machines, one is Linux Mint 21.1 and the other is Pop_OS!, so they are relatively close Ubuntu-based distros.

I go to Play on LAN -> start a server on one machine, and also go to Play on LAN and choose 'Refresh' to which the prompt :

'"Refreshing LAN server list..."
Listing 0 applicable servers'

...appears but sits endless printing "Added 0 LAN servers (of 0)." to the console.

However, the server is there and can be joined through the console no problem with "connect ".

Is this a problem with FTEQW perhaps? I'm looking around the Innernette for problems relating to it, but so far have not gleaned much.

CORS issues

Is there any way to decouple FreeCS from the outside server, for usage within the WebGL port of FTEQW?

So far, i'm trying my best, but the CORS issues are preventing me to get this up and running on WebGL.

I want to do a simple server, running only maps from a single mapper from our contry (Brazil), because those maps are of extreme importance for Brazilian players, and aren't available in any other game other than Counter-Strike 1.5.

It's possible to get this up and running on FTEQW WebGL?

dedicated server

is a dedicated server possible?

i'd like to install a dedicated server on an Arch VPS

i started playing around with this but there seems to be very little documentation on fteqw (fteqw-sv64 -h/--help for example simply tries to start the engine)

$ ./fteqw-sv64
Binary is located at "/storage/Downloads/freecs/game/"
couldn't exec masters.lst
couldn't exec cvars.cfg
Couldn't load plugin ffmpeg
execing server.cfg
Unknown command "sv_clienttrace"
couldn't exec ftesrv.cfg
Exe: FTE git-6496-eb6b127d9
======== Half-Life Initialized ========
Current search path:
 ----------
 ./valve  (e)(w)
 ./valve/zpak001.pk3  (h)
 ./valve/platform.pk3  (h)
 ./valve/platform.pk3/vmap_tex.pk3  (h)
 ./valve/platform.pk3/menu_fonts.pk3  (h)
 ./valve/platform.pk3/menu_fallback.pk3  (h)
 ./valve/platform.pk3/base_textures.pk3  (h)
 ./valve/platform.pk3/base_scripts.pk3  (h)
 ./valve/platform.pk3/base_postproc.pk3  (h)
 ./valve/platform.pk3/base_models.pk3  (h)
 ./valve/platform.pk3/base_glsl.pk3  (h)
 ./valve/dlcache/addon_furtherdata.pk3.63ef2011  (c)(u)(h)
 ./valve/dlcache/pak_patch1110.pk3.b34e619f  (c)(u)(h)
 ./valve/pak0.pak  (c)(h)
 ./platform  (e)(w)
SV_Error: Couldn't load a map. You may need to use the -basedir argument.
Fatal error: SV_Error: Couldn't load a map. You may need to use the -basedir argument.

setting -basedir to anything other than the current directory doesn't seem to work

Bot Support

Hi there.

Really interested in following the Development of this project (and the other Free* Projects), though there is a question on my mind which is Bot Support (which i argue it's somewhat important for the multiplayer-only titles). will that be worked on eventually?

Incorrect rtlights spawn

Rtlights are not spawning correctly in Goldsrc games. Example on map as_oilrig:

FreecsWrongSpawn.mp4

If you load the map into Quake, then the spawn will be normal:

QuakeRightSpawn.mp4

If you export the rtlights file from Quake to Freecs, then the location of the lights will be correct, but the collision itself will not be in the right place.

FreecsLoadedRtlightsFile.mp4

Tested on:
Commits: e744c22
eukara/freehl@f61c7af
VeraVisions/nuclide@45d58a8
OS: Debian 12 Alpha 1
Backend: SDL2
Render type: OpenGL
Data files: Shareware (from the script)

no MOTD when changing hostname

the first screen the player sees when joining the server should be the motd, however if the hostname is changed in server.cfg, the motd is not shown, nor is the team join dialog

server.cfg:
works: hostname "FreeCS Test Server"
doesn't work: hostname "The Asylum Counter-Strike 1.5 Server"

exec command:
ExecStart=/usr/share/games/halflife/fteqw-sv64 -nohome -readonly -game cstrike -svport 64444 +map de_dust2

related: #38

Have you tought of making a Kickstarter campaign for making free assets for FreeHL & CS?

Hey, I think this project is awesome, I think more people should know about it and I had an idea. You know OpenARENA? A clone of Quake, based on Quake's engine, same physics, same engine, same gameplay, new assets, it'd be awesome if FreeCS & FreeHL had financing to make free assets. Tell me what you think about it, also, if you don't like the idea, could you guide me in the right direction, so I can try to?

server.cfg 'hostname' truncated

i believe this may be a recent issue, not sure

hostname "FreeCS Test Server"

cs-hostname

if hostname is changed, i've seen where not more than 4 or 5 characters are printed in the motd (for hostname), or the motd simply never appears and the client has to press 'm' to get the team screen to appear

FTEQW forks

I'm a bit confused about FTEQW since I saw 3 different projects having that name:

Also checking https://fte.triptohell.info/resources it says that FreeCS is supported, but links to a sourceforge project at https://sourceforge.net/projects/freecs-1-5/. The author is named eukara so I assume it's you ?

So what versions of FTEQW are actually compatible with FreeCS ? I'm asking because my distro ships with https://fte.triptohell.info already so using that one would make things easy for me.

I've also tested this FTEQW with FreeCS. If I use your releases of FreeHL and FreeCS, set them up with the assets and run fteqw on them, it seems to work fine. FreeHL is bugged but you said that's normal in its README, and FreeCS looks like it's working apart from some weird visual glitches when looking outside of the map.
However trying to compile FreeHL and FreeCS doesn't work with that fteqcc. When trying to build FreeHL using the Makefile in src, I get this:

cd client && make
make[1]: Entering directory '/tmp/freecs/nuclide/valve/src/client'
fteqcc progs.src
FTEQCC: Jan  1 1980
Source file: progs.src
Outputfile: ../../csprogs.dat
including ../../../src/shared/fteextensions.qc
including ../../../src/shared/defs.h
../../../src/shared/NSIO.h:30: error: expected ;, found (
../../../src/shared/NSTrigger.h:56: error: expected ;, found (
../../../src/shared/NSEntity.h:89: error: expected ;, found (

************ ERROR ************
virtual keyword on member that is not a function
Error in ../../../src/shared/NSIO.h on line 30
make[1]: *** [Makefile:4: all] Error 1
make[1]: Leaving directory '/tmp/freecs/nuclide/valve/src/client'
make: *** [Makefile:4: all] Error 2

(yes it's normal that fteqcc says it was built on Jan 1 1980)
I'm using the rev 6303 of that fteqw/fteqcc.

settings not saved

i believe i have all the latest files from FreeHL, FreeCS and FTEQW as of today

starting game with: ./fteqw64 -game cstrike

in the configuration menu, none of the settings are saved when exiting the game (key binds for ex.)

(the same is true for ./fteqw64 -game valve)

bullet patterns/randomness

i'll get to my other open ticket sooner or later, but i just had a thought i wanted to explore...

when valve got their hands on CS, some of the changes they made were not received well by large parts of the community - as i recall, one of the (dumb) things they did was to further randomize bullet trajectory when moving/jumping, as well as other changes, in an attempt to level the playing field between newcomers and skilled players (translation: to sell more copies)

i'm just wondering what people might think if bullet randomness was completely removed from FreeCS???

my thinking here is that the "luck" factor would be eliminated which i suspect might solve some annoyances people have regarding bullet randomness; "my crosshair was right on him!!! there's no way i could've missed!!!"

of course i also respect what @eukara and other contributors want FreeCS to be, so i'm certainly not pushing for such a change

ps: might want to consider enabling the discussions option for this repo perhaps

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.