FTE - setup and deploy a dedicated server
Moderator: InsideQC Admins
17 posts
• Page 1 of 2 • 1, 2
FTE - setup and deploy a dedicated server
Not pretty sure If I should post it here but, as long it's not about programming, but setup...
I'm making a multiplayer commercial game with FTE and I need to test my csqc code with many players simultaneously on my local machine (Windows 7 64 bit with FTE version 4801) so I tried informations about how to start a dedicated server for FTE but with no luck everywhere.
************ FIRST ATTEMPT - SCRATCH GAME *****************
I created a simple manifest file with:
But if I launch fteqwsv.exe, it searches in "C:\Users\myuser\Documents/My Games/FTE QuakeWorld/" instead of my game directory, which is "e:/game/fte/ftesimple/". So it basically ignores .fmf manifest and it doesn't stay in home folder, using .cfgs and stuff from Documents folder(which are related to FTE QuakeWorld, not to my scratch FTE game).
I'm pretty sure that it ignores my fmf manifest file because I wrote
************ SECOND ATTEMPT - QUAKE GAME WITH BATCH FILE *****************
Instead of launching a dedicated server with a custom game from scratch, I tried to launch a fte dedicated server with normal quake dir.
So I launched a batch file with:
But server console says:
Then I launched fteglqw.exe and I issued the command
************ THIRD ATTEMPT - QUAKE GAME WITHOUT BATCH FILE *****************
I then launched fteqwsv.exe directly (without .bat file). Server console says again:
I launched fteglqw.exe and I issued the command
Client connects but the lan icon appears on the top left. The connection is super-laggy and server console outputs:
If I launch another instance of fteglqw.exe with command
client says:
After few seconds, client connects to server, but, obviously, server disconnects foo player. With server console saying:
There's a detailed documentation on how to start a dedicated server (locally for start) for FTE, even for games made from scratch?
Thanks in advance, this is a vital step for my game development, so any help will be REALLY appreciated!
I'm making a multiplayer commercial game with FTE and I need to test my csqc code with many players simultaneously on my local machine (Windows 7 64 bit with FTE version 4801) so I tried informations about how to start a dedicated server for FTE but with no luck everywhere.
************ FIRST ATTEMPT - SCRATCH GAME *****************
I created a simple manifest file with:
- Code: Select all
game Game
name "FTE Simple"
basegame data
disablehomedir 1
But if I launch fteqwsv.exe, it searches in "C:\Users\myuser\Documents/My Games/FTE QuakeWorld/" instead of my game directory, which is "e:/game/fte/ftesimple/". So it basically ignores .fmf manifest and it doesn't stay in home folder, using .cfgs and stuff from Documents folder(which are related to FTE QuakeWorld, not to my scratch FTE game).
I'm pretty sure that it ignores my fmf manifest file because I wrote
- Code: Select all
game Game
************ SECOND ATTEMPT - QUAKE GAME WITH BATCH FILE *****************
Instead of launching a dedicated server with a custom game from scratch, I tried to launch a fte dedicated server with normal quake dir.
So I launched a batch file with:
- Code: Select all
fteqwsv.exe +map e1m1 -dedicated 8 -ip 127.0.0.1
But server console says:
- Code: Select all
======== Quake Initialized ========
Unrecognised model format 0x50534449 (IDSP)
Unrecognised model format 0x50534449 (IDSP)
Unable to load progs/s_bubble.spr
Unable to load progs/s_explod.spr
Then I launched fteglqw.exe and I issued the command
- Code: Select all
connect 127.0.0.1
************ THIRD ATTEMPT - QUAKE GAME WITHOUT BATCH FILE *****************
I then launched fteqwsv.exe directly (without .bat file). Server console says again:
- Code: Select all
======== Quake Initialized ========
Loaded progs progs.dat
Server spawned.
Unrecognised model format 0x50534449 (IDSP)
Unrecognised model format 0x50534449 (IDSP)
Unable to load progs/s_bubble.spr
Unable to load progs/s_explod.spr
]
I launched fteglqw.exe and I issued the command
- Code: Select all
name foo
connect 127.0.0.1
Client connects but the lan icon appears on the top left. The connection is super-laggy and server console outputs:
- Code: Select all
SZ_GetSpace: overflow (32760+9 bytes of 32768)
WARNING: datagram overflowed for foo
SZ_GetSpace: overflow (32766+9 bytes of 32768)
SZ_GetSpace: overflow (32760+9 bytes of 32768)
WARNING: datagram overflowed for foo
SZ_GetSpace: overflow (32760+9 bytes of 32768)
SZ_GetSpace: overflow (32760+9 bytes of 32768)
WARNING: datagram overflowed for foo
SZ_GetSpace: overflow (32764+9 bytes of 32768)
WARNING: datagram overflowed for foo
SZ_GetSpace: overflow (32760+9 bytes of 32768)
WARNING: datagram overflowed for foo
SZ_GetSpace: overflow (32760+9 bytes of 32768)
If I launch another instance of fteglqw.exe with command
- Code: Select all
name bar
connect 127.0.0.1
client says:
- Code: Select all
Server is full (1 of 1 players)
After few seconds, client connects to server, but, obviously, server disconnects foo player. With server console saying:
- Code: Select all
WARNING: datagram overflowed for foo
start:127.0.0.1:58961:reconnect
foo left the game with 0 frags
Client "foo" removed
client bar connected
bar entered the game
SZ_GetSpace: overflow (32764+9 bytes of 32768)
WARNING: datagram overflowed for bar
SZ_GetSpace: overflow (32763+9 bytes of 32768)
WARNING: datagram overflowed for bar
There's a detailed documentation on how to start a dedicated server (locally for start) for FTE, even for games made from scratch?
Thanks in advance, this is a vital step for my game development, so any help will be REALLY appreciated!
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
regarding manifests, if the 'game' setting isn't recognised, all that happens is that:
a: it won't populate the basegame values (if omitted).
b: it can't scan the windows registry to find an existing install (not relevant if the engine is run from the game's basedir anyway).
c: it won't give a fallback game name. You already specify an actual value for that anyway.
d: it won't give a fallback 'defaultexec' line. such things should be in your default.cfg anyway.
e: it probably won't give a protocolname fallback so your servers might get mixed with other servers in dpmaster server listings.
basically it doesn't really make a difference if the game is recognised or not, the engine recognising it just means you can omit stuff (like the entire default.fmf file), while not recognising it means you need to be more explicit.
you only need to edit the engine to change the icon or rebrand the 'FTE' stuff away completely, is the theory, anyway.
to compile fte, just download+install cygwin and do 'cd engine && make gl-rel FTE_TARGET=win32' and then run the binary in the engine/release dir or so.
-dedicated argument does not exist in dedicated quakeworld servers. an explicit number doesn't make sense when the server is limited to 32 players anyway.
if you want to override the player limit, maxclients will limit the number of players allowed on your server. maxspectators will limit the number of spectators allowed. sv_playerslots is the max players+spectators+bots possible (this is the only cvar of the 3 that needs a map change to take effect), empty will be 32 in deathmatch or coop is set, and 1 if not (ie: single player - but why would a dedicated server have deathmatch 0 set?).
spectators are generally better implemented in a different way nowadays.
regarding sprites:
sprites are not loaded in dedicated servers. it doesn't make sense for them to be loaded.
the server may attempt to load them if the setmodel builtin has been configured to use the real model sizes, or if hitmodel is used, but they shouldn't otherwise be needed.
vanilla quakeworld never loaded any spr or mdl models.
if your firewall (like the one built in to windows) is configured to refuse connections, then connecting to localhost like that can indeed fail.
the 'status' command on a server will list ALL addresses+ports that the server is trying to listen on (this does not include NAT remapping however).
what are you doing that's requiring such HUGE datagrams? spamming 50 huge messages every single frame or something? no wonder its laggy.
you will need to boost the rate+sv_maxrate settings if you're not going to reduce the spam.
again, use the status command to see how much bandwidth is actually being used.
a: it won't populate the basegame values (if omitted).
b: it can't scan the windows registry to find an existing install (not relevant if the engine is run from the game's basedir anyway).
c: it won't give a fallback game name. You already specify an actual value for that anyway.
d: it won't give a fallback 'defaultexec' line. such things should be in your default.cfg anyway.
e: it probably won't give a protocolname fallback so your servers might get mixed with other servers in dpmaster server listings.
basically it doesn't really make a difference if the game is recognised or not, the engine recognising it just means you can omit stuff (like the entire default.fmf file), while not recognising it means you need to be more explicit.
you only need to edit the engine to change the icon or rebrand the 'FTE' stuff away completely, is the theory, anyway.
to compile fte, just download+install cygwin and do 'cd engine && make gl-rel FTE_TARGET=win32' and then run the binary in the engine/release dir or so.
-dedicated argument does not exist in dedicated quakeworld servers. an explicit number doesn't make sense when the server is limited to 32 players anyway.
if you want to override the player limit, maxclients will limit the number of players allowed on your server. maxspectators will limit the number of spectators allowed. sv_playerslots is the max players+spectators+bots possible (this is the only cvar of the 3 that needs a map change to take effect), empty will be 32 in deathmatch or coop is set, and 1 if not (ie: single player - but why would a dedicated server have deathmatch 0 set?).
spectators are generally better implemented in a different way nowadays.
regarding sprites:
sprites are not loaded in dedicated servers. it doesn't make sense for them to be loaded.
the server may attempt to load them if the setmodel builtin has been configured to use the real model sizes, or if hitmodel is used, but they shouldn't otherwise be needed.
vanilla quakeworld never loaded any spr or mdl models.
if your firewall (like the one built in to windows) is configured to refuse connections, then connecting to localhost like that can indeed fail.
the 'status' command on a server will list ALL addresses+ports that the server is trying to listen on (this does not include NAT remapping however).
what are you doing that's requiring such HUGE datagrams? spamming 50 huge messages every single frame or something? no wonder its laggy.
you will need to boost the rate+sv_maxrate settings if you're not going to reduce the spam.
again, use the status command to see how much bandwidth is actually being used.
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
Re: FTE - setup and deploy a dedicated server
Thanks a lot Spike for your kind and quick reply!
regarding manifests: ok
regarding compiling: ok -I'm installing cygwin, let's see. I'm always thinking that a working Visual Studio 2012/2013 and CodeBlocks installation could be a lot better for Windows devs
regarding dedicated argument: ok, so.. no arguments! The wierd thing is that I changed sv_playerslots "4" in C:\Users\myuser\Documents\My Games\FTE QuakeWorld\fte\ftesrv.cfg but server keeps disconnect fisrt player when second player (second istance of fteglqw.exe ON THE SAME computer) connects. Could it be a network problem? Or there is a .cfgs hierarchy? Couldn't it be possible to use just one cfg? There are too many and I couldn't find a good guide about Quake cfgs (fte has even its own one!)
regarding sprites: ok, just curiosity
regarding firewall: this one is tricky. I tried even to shut down Windows Firewall, but sometimes server hangs up(I can't type input anymore in the server console when it happens), no matter if the firewall is on or off. In this cases, client (obviously) waits forever a connection. This freaks me a little out, because the availability of connection seems (I could have done lots of errors so I'm not 100% sure) a little unpredictable. And, for a commercial game, this is not an option.
regarding huge datagram: that was my fault. I used a quake id1 folder mixed with dp and fte stuff. One of them was the great "Quake Small Mod Compilation" by Seven. Maybe that was too big, I don't know. Again, that's not good too. For a commercial game I'd like to pump up graphics to make it look better but if network (even locally!) can't handle it.. I'm stuck! As I stated before, that could be a mess made by myself, so, for now, let's just forget what I said!
I'm stuck anyway with making (just for start) a simple test connection with 2 or more players with FTE and normal Quake. Where I'm wrong? Why server always kicks last player when another client approaches?
Thanks again Spike for your help
regarding manifests: ok
regarding compiling: ok -I'm installing cygwin, let's see. I'm always thinking that a working Visual Studio 2012/2013 and CodeBlocks installation could be a lot better for Windows devs
regarding dedicated argument: ok, so.. no arguments! The wierd thing is that I changed sv_playerslots "4" in C:\Users\myuser\Documents\My Games\FTE QuakeWorld\fte\ftesrv.cfg but server keeps disconnect fisrt player when second player (second istance of fteglqw.exe ON THE SAME computer) connects. Could it be a network problem? Or there is a .cfgs hierarchy? Couldn't it be possible to use just one cfg? There are too many and I couldn't find a good guide about Quake cfgs (fte has even its own one!)
regarding sprites: ok, just curiosity
regarding firewall: this one is tricky. I tried even to shut down Windows Firewall, but sometimes server hangs up(I can't type input anymore in the server console when it happens), no matter if the firewall is on or off. In this cases, client (obviously) waits forever a connection. This freaks me a little out, because the availability of connection seems (I could have done lots of errors so I'm not 100% sure) a little unpredictable. And, for a commercial game, this is not an option.
regarding huge datagram: that was my fault. I used a quake id1 folder mixed with dp and fte stuff. One of them was the great "Quake Small Mod Compilation" by Seven. Maybe that was too big, I don't know. Again, that's not good too. For a commercial game I'd like to pump up graphics to make it look better but if network (even locally!) can't handle it.. I'm stuck! As I stated before, that could be a mess made by myself, so, for now, let's just forget what I said!
I'm stuck anyway with making (just for start) a simple test connection with 2 or more players with FTE and normal Quake. Where I'm wrong? Why server always kicks last player when another client approaches?
Thanks again Spike for your help
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
the qport cvar specifies some random number that persists over dodgy router reassignments (client is identified with qport+ip address instead of udp port+ip address).
its flagged CVAR_NOSAVE so shouldn't be saved into configs (but can still be read from them), so if you do perhaps have a dodgy old one from another (qw, maybe dp) engine, then yeah, the two clients will be seen as a single one, and one will get kicked when the new one joins.
just change the qport.
if all else fails, if you're prepared to support it, you can always set cl_splitscreen to get up to 4 players per client. this may require adding support to csqc (change VF_LPLAYER to select each client's view and draw that - the csqc has full control over the screen, so needs code to draw that stuff properly), probably in much the same way the engine supports it when csqc isn't active.
SMC is agressively spammy. No commercial game would be able to get away with that in a multiplayer environment. SMC can drop (dp's) framerates to 30fps even without rtlights thanks to all the particles even on a nice simple map like dm4. You can/should utilise csqc to reduce network bandwidth wasted on particles, its just that smc doesn't use any csqc at all.
set sv_maxrate(server) and rate(client) to 0 and rate limiting should be disabled, allowing you to spam to your heart's content. yay...
its flagged CVAR_NOSAVE so shouldn't be saved into configs (but can still be read from them), so if you do perhaps have a dodgy old one from another (qw, maybe dp) engine, then yeah, the two clients will be seen as a single one, and one will get kicked when the new one joins.
just change the qport.
if all else fails, if you're prepared to support it, you can always set cl_splitscreen to get up to 4 players per client. this may require adding support to csqc (change VF_LPLAYER to select each client's view and draw that - the csqc has full control over the screen, so needs code to draw that stuff properly), probably in much the same way the engine supports it when csqc isn't active.
SMC is agressively spammy. No commercial game would be able to get away with that in a multiplayer environment. SMC can drop (dp's) framerates to 30fps even without rtlights thanks to all the particles even on a nice simple map like dm4. You can/should utilise csqc to reduce network bandwidth wasted on particles, its just that smc doesn't use any csqc at all.
set sv_maxrate(server) and rate(client) to 0 and rate limiting should be disabled, allowing you to spam to your heart's content. yay...
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
Re: FTE - setup and deploy a dedicated server
The qport did the trick. I set qport 0 to first client and qport 1 to second client and they connected simultaneously. Thanks a lot Spike!! There's a way to get rid of qport in a definitive way (maybe adding a random number for every client connected)?
I had another problem: in an unpredictable way, server very often(let's say 9 times on 10) hanged up. It can't take input but Task Manager showed it like a regular process, not in zombie status. So I cleared ftesrv.cfg and fte.cfg and everything goes normal. I'll investigate what cvar can cause the freeze tomorrow because right now I need some sleep!
For now Thanks a lot Spike. Tomorrow, next step: starting up my FTE scratch game as dedicated server
PS: I've been able to compile on CigWin with the command make gl-rel FTE_TARGET=win32, thanks. Anyway I installed Microsoft Visual Studio 2010 (because on 2013 fte didn't compile) and, with a lot of surprise, it gave me same very strange error:
fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "qwsvdef.h"' to your source?
And, of course, qwsvdef.h is not present in the engine dir. Anyway I'll create another aimed post about this issue.
I had another problem: in an unpredictable way, server very often(let's say 9 times on 10) hanged up. It can't take input but Task Manager showed it like a regular process, not in zombie status. So I cleared ftesrv.cfg and fte.cfg and everything goes normal. I'll investigate what cvar can cause the freeze tomorrow because right now I need some sleep!
That's another thing I didn't know. Thanks for the AWESOME tip, Spike! That's a very useful practice. I'll use csqc for that.SMC is agressively spammy. No commercial game would be able to get away with that in a multiplayer environment. SMC can drop (dp's) framerates to 30fps even without rtlights thanks to all the particles even on a nice simple map like dm4. You can/should utilise csqc to reduce network bandwidth wasted on particles, its just that smc doesn't use any csqc at all.
For now Thanks a lot Spike. Tomorrow, next step: starting up my FTE scratch game as dedicated server
PS: I've been able to compile on CigWin with the command make gl-rel FTE_TARGET=win32, thanks. Anyway I installed Microsoft Visual Studio 2010 (because on 2013 fte didn't compile) and, with a lot of surprise, it gave me same very strange error:
fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "qwsvdef.h"' to your source?
And, of course, qwsvdef.h is not present in the engine dir. Anyway I'll create another aimed post about this issue.
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
Ok, FTE hates me. I'm pretty sure about it. I compiled FTE on Windows (cygwin on Windows7 64 Bit), adding this line to gamemode_info[] in common/fs.c
Compiled. No problem. Output files: fteglqw.exe and fteqwsv.exe
Added default.fmf
Launch fteqwsv.exe and issue map simple(a simple map completely working yesterday with latest precompiled build). Crash.
Launch fteglqw.exe and issue map simple. Screen is overzoomed and it's impossible to understand anything.
WTF?
I use SAME exes on normal Quake folder and.. it works flawlessy! Players can play together smooth and easy.
Again.. WTF?!
Just because it wasn't the first time FTE seems to laugh at my back.. I downloaded 2 SVN versions. Yesterday's and today's ones. Same problem.
The only different is that yesterday I compiled in the "classic" way
Today instead, I downloaded the latest tarball here and I repetead step 2. But I guess it's pretty much the same (sorry, but I'm becoming paranoid!
).
Moreover, in the manifest file, this time is present my personal protocolname ftesimple but, if I list the servers, there are all the Quake servers that were present yesterday when I was using a non modified FTE version and no protocolname was set.
DISABLEHOMEDIR is completely useless because FTE ignores it and searches in Documents/MyGames/FTE QuakeWorld and it shouldn't because the folder set in the gamemode_info[] is different (I guess, at least).
Should I use a specific target build command (for example FTE_TARGET=ftesimple) to compile exact ftesimple version?
Thanks again
- Code: Select all
//cmdline switch exename protocol name(dpmaster) identifying file exec dir1 dir2 dir3 dir(fte) full name
{"-ftesimple", "ftesimple","ftesimple", {"ftesimple.exe"}, NEXCFG, {"data", "*ftesimpledata"}, "FTE: Simple"},
Compiled. No problem. Output files: fteglqw.exe and fteqwsv.exe
Added default.fmf
- Code: Select all
game ftesimple
name "FTE Simple"
basegame data
protocolname ftesimple
DISABLEHOMEDIR 1
Launch fteqwsv.exe and issue map simple(a simple map completely working yesterday with latest precompiled build). Crash.
Launch fteglqw.exe and issue map simple. Screen is overzoomed and it's impossible to understand anything.
WTF?
I use SAME exes on normal Quake folder and.. it works flawlessy! Players can play together smooth and easy.
Again.. WTF?!
Just because it wasn't the first time FTE seems to laugh at my back.. I downloaded 2 SVN versions. Yesterday's and today's ones. Same problem.
The only different is that yesterday I compiled in the "classic" way
- Code: Select all
1)svn checkout svn://svn.code.sf.net/p/fteqw/code/trunk fteqw-code
2)cd engine && make gl-rel FTE_TARGET=win32
Today instead, I downloaded the latest tarball here and I repetead step 2. But I guess it's pretty much the same (sorry, but I'm becoming paranoid!
Moreover, in the manifest file, this time is present my personal protocolname ftesimple but, if I list the servers, there are all the Quake servers that were present yesterday when I was using a non modified FTE version and no protocolname was set.
DISABLEHOMEDIR is completely useless because FTE ignores it and searches in Documents/MyGames/FTE QuakeWorld and it shouldn't because the folder set in the gamemode_info[] is different (I guess, at least).
Should I use a specific target build command (for example FTE_TARGET=ftesimple) to compile exact ftesimple version?
Thanks again
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
HOMEDIR i think is only relevant to linux builds
it should not be used on windows unless you want FTE with cygwin linkage (would depend on the cygwin runtime then).
Could use MinGW64 with Msys2 which is targeted at windows by default, or Use my CB Advanced package which has all things you need allready.
Could use MinGW64 with Msys2 which is targeted at windows by default, or Use my CB Advanced package which has all things you need allready.
Productivity is a state of mind.
-

revelator - Posts: 2567
- Joined: Thu Jan 24, 2008 12:04 pm
- Location: inside tha debugger
Re: FTE - setup and deploy a dedicated server
- Code: Select all
DISABLEHOMEDIR 1
If non-zero, the game/mod will not attempt to use any directory within the user's homedir by default. This may cause issues if the base game was installed in some read-only system location like C:\Program Files\, and so should only be used for manually installed games (ones that contain just the exe+fmf file).
I would love to, but unfortunately I couldn't find a pre-made FTE solution for C::B and I haven't the skills to setup itrelevator wrote:Could use MinGW64 with Msys2 which is targeted at windows by default, or Use my CB Advanced package which has all things you need allready.
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
homedir used despite being disabled:
the filesystem code is initialised before the manifest file is parsed, this includes determining the home basedir.
this doesn't mean that it is actually being used, only where to put it if it is.
if you use the path command you will see whether or not the directory specified should be used or not.
you can also tell that its using the correct manifest because a client will say 'foo initialised' at startup, where 'foo' is specified in the manifest.
server crashing:
this appears to be an issue with dedicated servers and q3bsps. I'll fix this at some point.
if you suspect its triggered by a different mechanism, you can use 'make sv-dbg FTE_TARGET=win32' to build a debug server. any segfaults will then cause the engine to print a stacktrace somehow. you can run 'addr2line -e ftefoo.exe' and then paste the addresses, and this will show you the function names+lines where the crash is happening. if its outside gl_q2bsp.c then pm it or paste it to me on irc or something and I'll try to figure out what's causing it.
overzoomed:
set vid_conautoscale to 1 if you want to scale the UI 1:1 with physical pixels.
if it affects the game/hud and not the console, then blame any csqc that you're using.
if the game is zoomed weirdly but the hud is okay, then blame fov. try changing fov to 90. the default fov has been a little too high in the past (part of temporary psychological warfare against nquake users, the default is back to 90 now).
you can also use these commands to see which configs your client is actually executing, the result should include a system path:
flocate quake.rc
flocate default.cfg
flocate config.cfg
flocate fte.cfg
flocate autoexec.cfg
the last 3 of those are user-specific files. delete them to revert to factory defaults. the other configs are specific to your mod. if you're going standalone, you shouldn't need quake.rc
server hang ups:
this can often happen with dodgy QC that keeps on looping until it finds a usable spawn spot. it is an infinite loop in the QC code. adding more spawn spots to the map can help, as can tweaking the QC to allow gibbing other players on spawn. can also occur in other circumstances.
such QC-caused lockups will eventually hit a runaway loop detection and result in a stack trace, if left long enough.
QC-caused long-but-not-infinite loops can be debugged using 'profile_ssqc' or equivelent command, use it before and after the lockup and it should show which qc function ate all the time.
server listing:
I was quite specific when I said sans protocol name might mix the server with others in DPMASTER server listings. Yes, I weaseled out. The protocolname does what I said it does, but what I said does not exclude servers listed from other types of master server (namely, qw, q2, q3, etc, masters), of which there are quite a few masters and even more game servers. I still intend to fix this some time so that the others are disabled, its just that its a bit messy to do as things currently stand (resulting in annoying barriers when switching between nq/qw/dp servers).
I'll have to come up with something creative to prevent it from feeling like a regression to players.
the filesystem code is initialised before the manifest file is parsed, this includes determining the home basedir.
this doesn't mean that it is actually being used, only where to put it if it is.
if you use the path command you will see whether or not the directory specified should be used or not.
you can also tell that its using the correct manifest because a client will say 'foo initialised' at startup, where 'foo' is specified in the manifest.
server crashing:
this appears to be an issue with dedicated servers and q3bsps. I'll fix this at some point.
if you suspect its triggered by a different mechanism, you can use 'make sv-dbg FTE_TARGET=win32' to build a debug server. any segfaults will then cause the engine to print a stacktrace somehow. you can run 'addr2line -e ftefoo.exe' and then paste the addresses, and this will show you the function names+lines where the crash is happening. if its outside gl_q2bsp.c then pm it or paste it to me on irc or something and I'll try to figure out what's causing it.
overzoomed:
set vid_conautoscale to 1 if you want to scale the UI 1:1 with physical pixels.
if it affects the game/hud and not the console, then blame any csqc that you're using.
if the game is zoomed weirdly but the hud is okay, then blame fov. try changing fov to 90. the default fov has been a little too high in the past (part of temporary psychological warfare against nquake users, the default is back to 90 now).
you can also use these commands to see which configs your client is actually executing, the result should include a system path:
flocate quake.rc
flocate default.cfg
flocate config.cfg
flocate fte.cfg
flocate autoexec.cfg
the last 3 of those are user-specific files. delete them to revert to factory defaults. the other configs are specific to your mod. if you're going standalone, you shouldn't need quake.rc
server hang ups:
this can often happen with dodgy QC that keeps on looping until it finds a usable spawn spot. it is an infinite loop in the QC code. adding more spawn spots to the map can help, as can tweaking the QC to allow gibbing other players on spawn. can also occur in other circumstances.
such QC-caused lockups will eventually hit a runaway loop detection and result in a stack trace, if left long enough.
QC-caused long-but-not-infinite loops can be debugged using 'profile_ssqc' or equivelent command, use it before and after the lockup and it should show which qc function ate all the time.
server listing:
I was quite specific when I said sans protocol name might mix the server with others in DPMASTER server listings. Yes, I weaseled out. The protocolname does what I said it does, but what I said does not exclude servers listed from other types of master server (namely, qw, q2, q3, etc, masters), of which there are quite a few masters and even more game servers. I still intend to fix this some time so that the others are disabled, its just that its a bit messy to do as things currently stand (resulting in annoying barriers when switching between nq/qw/dp servers).
I'll have to come up with something creative to prevent it from feeling like a regression to players.
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
Re: FTE - setup and deploy a dedicated server
I would love to, but unfortunately I couldn't find a pre-made FTE solution for C::B and I haven't the skills to setup it
No need can just fire up the Msys2 shell and do the exact same commands for building as you do in cygwin
As for the home dir it just sounded like some linux remnant
Productivity is a state of mind.
-

revelator - Posts: 2567
- Joined: Thu Jan 24, 2008 12:04 pm
- Location: inside tha debugger
Re: FTE - setup and deploy a dedicated server
Yeah, looking at the "Bla bla Initialized" message was a good tip. Infact console says:homedir used despite being disabled:
the filesystem code is initialised before the manifest file is parsed, this includes determining the home basedir.
this doesn't mean that it is actually being used, only where to put it if it is.
if you use the path command you will see whether or not the directory specified should be used or not.
you can also tell that its using the correct manifest because a client will say 'foo initialised' at startup, where 'foo' is specified in the manifest.
- Code: Select all
FTE Simple initialized
- Code: Select all
FTE QuakeWorld initialized
Yep, definately. If I change a bit the batch file, opening a quake1 mapserver crashing:
this appears to be an issue with dedicated servers and q3bsps. I'll fix this at some point.
- Code: Select all
fteqwsv.exe -nohome 1 -ftesimple +map e1m1
And now? I can't test my game in multiplayer anymore!!
Thanks for the great tip. It needed to edit in fte.cfgif the game is zoomed weirdly but the hud is okay, then blame fov. try changing fov to 90.
- Code: Select all
ffov "1"
- Code: Select all
ffov "0"
Well, again.. this seems a great problem to me. I mean, for a commercial game, I can't ship a product where people can see other servers from other games!server listing:
I was quite specific when I said sans protocol name might mix the server with others in DPMASTER server listings. Yes, I weaseled out. The protocolname does what I said it does, but what I said does not exclude servers listed from other types of master server (namely, qw, q2, q3, etc, masters), of which there are quite a few masters and even more game servers. I still intend to fix this some time so that the others are disabled, its just that its a bit messy to do as things currently stand (resulting in annoying barriers when switching between nq/qw/dp servers).
I'll have to come up with something creative to prevent it from feeling like a regression to players.
Thanks a lot for your help Spike
@revelator: thanks I already compiled with msys but I need a solution where I open a file and all the environment appears. Just like Visual Studio. But, unfortunately, FTE crashes with a strange error on VS
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
Yeah i had some problem also since the vs 2010 solution tried to open vs 2013 and convert the solution :S fix was rightclicking the solution and selecting vs 2010 to open it with.
Also these project files seem to be leftovers from an older release as they are missing items added later. Im updating them now and if it works i can upload the new project files for you.
Also these project files seem to be leftovers from an older release as they are missing items added later. Im updating them now and if it works i can upload the new project files for you.
Productivity is a state of mind.
-

revelator - Posts: 2567
- Joined: Thu Jan 24, 2008 12:04 pm
- Location: inside tha debugger
Re: FTE - setup and deploy a dedicated server
I tried even that. But, even with VS2010 (Express version, of coursw), it finds error during conversion. There are 6 projects: botlib, ftequake, ftequake, FTEQuake, npfte and qtvprox, (no idea why all the same name but I guess that one of them should be ftequake-sdl).Only three are usable:Yeah i had some problem also since the vs 2010 solution tried to open vs 2013 and convert the solution :S fix was rightclicking the solution and selecting vs 2010 to open it with.
botlib
ftequake(no idea which one)
npfte
The others are grey and not selectable.
If I compile only ftequake with target release it gives error:
- Code: Select all
fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "qwsvdef.h"' to your source?
The file seems not present and I tried to physically add it but with no luck(both files - mine and the "invisible one"- coexist in the same tree file structure without problems!VS should tell me "there's already a file named "qwsvdef.h"!",right?)
Well, what can I say? That shouldn't be the first time you save my day, revelator!Also these project files seem to be leftovers from an older release as they are missing items added later. Im updating them now and if it works i can upload the new project files for you.
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
Re: FTE - setup and deploy a dedicated server
the 2005 project files are the best maintainted ones. I've a few private projects in there that I'm too lazy/selfish to share, so don't worry too much about missing projects.
a single person does not use multiple project files.
at one point it was possible to compile with msvc via the makefile, but that requires setting up more stuff (like gnu make), and debugging it isn't so straight forward.
errors about precompiled headers can be fixed by just completely disabling precompiled headers. its compiler performance hack rather than anything that is meant to affect the output. you might also have issues with missing symbols if I've added extra files later.
the networking stuff has greater isolation now.
support for ffov was disabled for a while as I wanted to rewrite how it worked. I reenabled it recently, but I'm still not happy with how it works (namely, how to interact with it via csqc+post processing shaders). if you had previously set a bad value, the new version actually supported it.
server lists are properly isolated now. the engine will not subscribe or query quakeworld master servers if the protocol name is set to something other than 'Quake' (same for q2+q3). So just set the protocol name to some custom value for your mod, and it shouldn't spam you with servers that you're not interested in.
also, q3bsps should no longer crash dedicated servers.
a single person does not use multiple project files.
at one point it was possible to compile with msvc via the makefile, but that requires setting up more stuff (like gnu make), and debugging it isn't so straight forward.
errors about precompiled headers can be fixed by just completely disabling precompiled headers. its compiler performance hack rather than anything that is meant to affect the output. you might also have issues with missing symbols if I've added extra files later.
the networking stuff has greater isolation now.
support for ffov was disabled for a while as I wanted to rewrite how it worked. I reenabled it recently, but I'm still not happy with how it works (namely, how to interact with it via csqc+post processing shaders). if you had previously set a bad value, the new version actually supported it.
server lists are properly isolated now. the engine will not subscribe or query quakeworld master servers if the protocol name is set to something other than 'Quake' (same for q2+q3). So just set the protocol name to some custom value for your mod, and it shouldn't spam you with servers that you're not interested in.
also, q3bsps should no longer crash dedicated servers.
- Spike
- Posts: 2892
- Joined: Fri Nov 05, 2004 3:12 am
- Location: UK
Re: FTE - setup and deploy a dedicated server
Yep, dedicated server works with Visual Studio 2013, converting it from 2005 solution. Gl client, instead gives...the 2005 project files are the best maintainted ones. I've a few private projects in there that I'm too lazy/selfish to share, so don't worry too much about missing projects.
a single person does not use multiple project files.
...that, infact.you might also have issues with missing symbols if I've added extra files later
I love you.the networking stuff has greater isolation now.
oksupport for ffov was disabled for a while as I wanted to rewrite how it worked. I reenabled it recently, but I'm still not happy with how it works (namely, how to interact with it via csqc+post processing shaders). if you had previously set a bad value, the new version actually supported it.
I love you more. Now, with protocol name -ftesimple it doesn't show all the other Quake servers (YAAAAYYY!!), but, strange enough, it doesn't show my active local server either(on localhost 127.0.0.1 address)server lists are properly isolated now. the engine will not subscribe or query quakeworld master servers if the protocol name is set to something other than 'Quake' (same for q2+q3). So just set the protocol name to some custom value for your mod, and it shouldn't spam you with servers that you're not interested in.
I can't say how much I love you rigth now!also, q3bsps should no longer crash dedicated servers.
Thanks A LOT Spike for you vital contribution! Really appreciated!
Meadow Fun!! - my first commercial game, made with FTEQW game engine
- toneddu2000
- Posts: 1352
- Joined: Tue Feb 24, 2009 4:39 pm
- Location: Italy
17 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 4 guests