Lagfarm (Bugfarm Deathmatch)
Moderator: Z-Man
Lagfarm (Bugfarm Deathmatch)
In order to test new network code improvements, I'm stating a sumo clone on my home server. It's called "Lagfarm Sumo" for obvious reasons. The system specs:
CPU: 266 MHz Pentium MMX
Network: ADSL 128 kbit/s upstream, 1000 kbit/s downstream with interleaving error correction (that means about 50 ms of additional lag)
Some optimizations in the game code are already active to cope with the low CPU power. Usually, 266 MHz would be plenty, but of course, the server is running in nonoptimized mode to produce good debug recordings.
The midterm plan:
- Get a network upgrade to 500 kbit/s upstream
- Tweak the compilation flags to find the best performance and usability of debug recordings combinations
- Move annoying cron jobs on the server to a timeslot where they don't hurt the server
- Migrate the bugfarm servers there
To give the network optimizations a good testing, I'm not activating any of them on old Bugfarm. I want to see whether I can get a weak server with new code perform as well as a strong server with the old code.
CPU: 266 MHz Pentium MMX
Network: ADSL 128 kbit/s upstream, 1000 kbit/s downstream with interleaving error correction (that means about 50 ms of additional lag)
Some optimizations in the game code are already active to cope with the low CPU power. Usually, 266 MHz would be plenty, but of course, the server is running in nonoptimized mode to produce good debug recordings.
The midterm plan:
- Get a network upgrade to 500 kbit/s upstream
- Tweak the compilation flags to find the best performance and usability of debug recordings combinations
- Move annoying cron jobs on the server to a timeslot where they don't hurt the server
- Migrate the bugfarm servers there
To give the network optimizations a good testing, I'm not activating any of them on old Bugfarm. I want to see whether I can get a weak server with new code perform as well as a strong server with the old code.
I didn't get as far as I hoped, but got quite a bit of anti-lag code out. It mainly targets CPU induced lag, network messages are now dispatched faster. Only the minimum amount of work is done between receiving a message and sending the response out to the clients. I'll probably get the worst case response time down still a bit.
Instead of another Fortress or Sumo clone, I reactivated the settings and code of the easter egg server. That means instant respaws for those who missed it. Also, rubber settings are, ATM, still a bit more conservative than on Fortress and Sumo. You can grind gently, but don't expect to be able to adjust or 180.
Instead of another Fortress or Sumo clone, I reactivated the settings and code of the easter egg server. That means instant respaws for those who missed it. Also, rubber settings are, ATM, still a bit more conservative than on Fortress and Sumo. You can grind gently, but don't expect to be able to adjust or 180.
No, the whole purpose of the server is to investigate lag, and I need a server that is a) close to me so I can easily debug on it or transfer debug recordings to my stronger machines and b) is vulnerable to lag I can see. I haven't played on the server from the outside yet, but will do so today.
Also note that several improvements are still missing. The bandwidth upgrade hasn't happened yet, and the lag sliding protection isn't implemented yet. And I'm going to profile the CPU load and see where we waste cycles, it shoot to 30% when we were six people playing yesterday.
Also note that several improvements are still missing. The bandwidth upgrade hasn't happened yet, and the lag sliding protection isn't implemented yet. And I'm going to profile the CPU load and see where we waste cycles, it shoot to 30% when we were six people playing yesterday.
How do you do that with making the cycles invisible an all.
Someone said to me it would be cool to make a pacman map. Got me thinking - The map would be easy enough. I could make all the little dots pacman eats little fortresses.
There would be 4 ghosts and 1 pacman. Same rules as pacman, collect all the dots.
Problems I can think of -
Team balancing - One team (pacmans ) max_per_team 1
2nd team (ghosts) - max_per_team 4
The super dots - pacman could be made invincible for a short time after eating one, where his tail can kill the ghosts, but the ghosts not his.
respawn - if ghosts are killed, they respawn in their base.
ghosts can't kill ghosts.
assigning fortresses to team - all the fortresses belong to the ghosts.
Different objectives -
ghosts - kill pacman.
pacman - eat all fortresses
okay, it wouldn't be exactly pacman, but would resemble it somewhat, and I think it would be a lot if fun.
Someone said to me it would be cool to make a pacman map. Got me thinking - The map would be easy enough. I could make all the little dots pacman eats little fortresses.
There would be 4 ghosts and 1 pacman. Same rules as pacman, collect all the dots.
Problems I can think of -
Team balancing - One team (pacmans ) max_per_team 1
2nd team (ghosts) - max_per_team 4
The super dots - pacman could be made invincible for a short time after eating one, where his tail can kill the ghosts, but the ghosts not his.
respawn - if ghosts are killed, they respawn in their base.
ghosts can't kill ghosts.
assigning fortresses to team - all the fortresses belong to the ghosts.
Different objectives -
ghosts - kill pacman.
pacman - eat all fortresses
okay, it wouldn't be exactly pacman, but would resemble it somewhat, and I think it would be a lot if fun.
That's hardcoded Knowing that we'd sooner or later have real respawn logic in the game (Lagfarm uses the hacky code used for testing, that's why for example the AI does not leave immediately) I added the timed invulnerability to 0.2.8.2.ed wrote:How do you do that with making the cycles invisible an all.
Yeah, packman is my personal test whether we're flexible enough. If we can implement packman as a map and a set of scripts, we're done
Psyko: I guess now would be a good time to tell you the server has fat cycles
http://forums.armagetronad.net/viewtopi ... 5184#25184ed wrote:Someone said to me it would be cool to make a pacman map. Got me thinking - The map would be easy enough. I could make all the little dots pacman eats little fortresses.
been there done that... but like always i kinda quit before anything real came out of it. feel free to use the pacman map i already made and alter it if you want, just leave a comment in the map file refrencing me and i'll be happy.
back on topic:
zman did you see the bug i pointed out in your logs?
deathmatch
i tested it today and i really liked it. would be really nice if that project could be realized on a better server (with a better i-con). maybe the server could be avaidable for more players then too (like 8 or more). i am really looking forward to it!
It will be on a better connection sometime soon. The upgrade is ordered, I'm just waiting for the bureaucracy to get moving
Your_mom: this one?Yeah, the game control part is hacky, it's not really done at all yet. BTW, the round time limit is 5 minutes only if an AI opponent is present (that's single player mode even if real players are there), otherwise, it's 20 minutes. If you play with someone without an AI, and that person leaves, you're left alone for the rest of the round/match. Perhaps I can hack the hack.
The code for this server is already in 0.2.8.2, if you're interested. You need to compile it yourself, though, and define the preprocessor symbol RESPAWN_HACK. As the name suggests, it isn't really meant to be used on a production server. I'm being evil here again I'm using it as bait to lure you in.
Your_mom: this one?
Code: Select all
2006_07_03_08_24/bug.log:[1] 7: BUG round doesnt end after 5 minutes if opponent leaves
The code for this server is already in 0.2.8.2, if you're interested. You need to compile it yourself, though, and define the preprocessor symbol RESPAWN_HACK. As the name suggests, it isn't really meant to be used on a production server. I'm being evil here again I'm using it as bait to lure you in.