It has come to my attention that there may be a lagg exploit related to the admin mod. I have implemented logging to see if the exploit is being, exploited.
Today MCGSCEFFAAWHETJH55555 alerted me that the server was being spammed with errors. The errors were coming from the admin mod, specifically the AFK Kicker plugin i added. After looking and finding the source of the problem (a missing ".." between two strings in my debugger) i began to investigate what exactly the AFK kicker was trying to do.
So i opened up the AFK kicker as saw that it was checking to see if a player was exempt from the AFK kick. Note that this is run every single think, for every single player.
I then traced the function that tells if a player has a certain privilege. I see that that function does a call to another function, a function that returns the rank of a player.
I went to the function that returns a players rank. And from there i saw that it called the function that pulls information from a players file.
The function that pulls information from a players file is a mysqllite function. I facepalmed. Every single think, the admin mod was checking the rank of every single player, to see if they are exempt from being kicked if they go AFK.
Now if there was only a few players on the server, say 6, we can assume the think function is running maybe 15 times per second. That means the server would be making 6*15=90 queries to the mysqllite database (sv.db) every second.
Lets say we have more players, 12! By now the server's think function has probably slowed down (if it works the way i think it does, hurr pun) the server significantly because its no longer doing 90 queries per second, but 180! It doesn't take an expert programmer to figure out that is COMPLETELY RIDICULOUS. You should rarely need to query! Pool the data on the server and only transfer to the db when needed!
I removed the AFK kicker as a temporary relief to the server. (A really fucking huge relief) I am going to rewrite the admin mod so it stores a local copy of the players information and only queries the database when loading information, saving information once every minute, and saving information on map change. The admin mod is a modified version of Evolve given to me by TNS-GAMING since it was linked with their sourcebans and was "better" then the normal Evolve.
And i do admit, it is "better" storage wise, but needs to be optimized to not query the database every time it needs to check a players data.
Morale of the story: Shits fixed, lags gone.
MCGSCEFFAAWHETJH55555 has been rewarded with a perma IC Name and a green name on scoreboard.
Thank you for your patience.
At least it didn't crash :v:
Who's the damn monkey who wrote that admin mod?
I mean, checking the database every tick? What the fuck?
Even a semi-competent scripter would know that's a downright idiotic idea, and it would be far better to check the database once, store the relevant information on the player, and then check that instead.
Track down the address of the monkey who made that admin mod and give him a good hard slap for me and all the other programmers in the world who cringe at the sheer stupidity of that idea.
Well it wasn't intended to be access the database every tick. Just everytime data was needed or to be saved.
And then when i installed that plugin, which wants data every tickerrthink, bad things happen.
I don't blame the person who had modified Evolve mod (I was talking to him earlier when we were debugging >.< believe it or not we had looked at the admin mod and i had made a comment on how it would contact db every time it needed data, he said that he made it a long time ago, and i thought it would be fine since who the hell needs to contact the db a lot, and we moved on to look at other things)
Only reason i took such a big interest in the admin mod was after someone reported a potential exploit that a player could use to lag out the server, basically the equivalent of a DOS, but inside GMOD. And when i wrote the code to log that kind of usage to see if it was done, i had made a error which caused the AFK Kicker to error up, thus leading me to find that the AFK Kicker was the culprit.
SO basically, Hey guys i just DOSed myself!
I'm MCG.....Well I'm just here to message Remscar that he forgot to ban me from the Europe server.
( In case you don't know, I got banned for using OOC way too much.
[QUOTE=Remscar;34412372]
SO basically, Hey guys i just DOSed myself![/QUOTE]
Using the exploit I told you about nonetheless.
[B]Morbus:[/B] 1.0.1
From now on i will start documenting all changes done to Morbus like such:
#.#.#
The first number represents the main release number. This will most likely be very rare and only happen after a large accumulation of smaller updates.
The second number represents what sub version the game is. This number will be increased any time a new gameplay element or important change is made to the game. Primarily when new content is added.
The third number represents small or minor changes, such as bug fixes, new maps, balancing, and other small changes.
The next Morbus update will be dubbed: Morbus 1.0.1
What this update will contain is currently undecided, i am looking for suggestions and things people would like to see added, or modified. Here is what i have planned or am thinking about.
[U][B]Humans[/B][/U]
-[B]Roles[/B] - Each human would have some sort of role that would be randomly assigned to them at the start of the round. This role would serve to increase immersion and bring more "roleplay" elements into the game. The roles also provide tactical advantages, or disadvantages to a players abilities.
Potential roles include: Security Officer (Starts with pistol, slightly more durable, less effected by weight), Doctor (Starts with medkit, medkits 1.5x more effective), Civilian (Slightly higher base speed, takes slightly more damage), ???
-[B]Proximity Sensor[/B] - I am unsure how exactly this will fall into place in Morbus. I would like to see it as a item that can be picked up like the medkit or glowstick, however i am unsure if i want it to take the same slot as those items. What would it look like? What is the purpose of holding it? Does it work when not selected?
-[B]Proximity Alarms[/B] - Sensors that can be planted on surfaces, will alert the person who planted them when someone gets near the sensor. Would be useful to know if someone is following you?
-[B]Gun Changes[/B] - I feel tweaking needs to be done to the MARS. Also i am going to fix a few bugs with the weapon base involving multiple fire modes.
-[B]Paranoia[/B] - Amnesia: The Dark Descent
[B][U][BROOD] Aliens[/U][/B]
-[B]Upgrade Menu[/B] - I hope to get icons for the upgrade menu so there is some sort of (art?) when you are selecting your upgrade. Seeing the HL2 symbol is kind of, cheap, and unprofessional looking.
-[B]New Upgrades[/B] - I want to add some upgrades to the defense tree, and possibly the offense tree. I need to do some studying to see what people invest their points in, and what they don't. I know the exhaust upgrade is all but useless, or so im told. I need suggestions. Good ones, not OP.
-[B]Stealth[/B] - At the moment you cloak a bit fast for my taste, i have to adjust this so there is a lag time before you start to cloak.
-[B]Alien Chat[/B] - For some reason the usermessage is not always properly sent and the voice icon does not always show up the red color which indicates someone is using alien voice chat.
-[B]Anti {Gun} kill[/B] - I'm debating adding further counter measures against brood aliens who use guns to kill humans. Maybe even an automated punishment.
-[B]*NEW* Blood splatter[/B] - When a brood transforms into its alien form, there will be blood splattering around them. :x
-[B]*NEW* Infection[/B] - When Brood aliens attack there will be a [B]SMALL[/B] chance that the victim is infected. If they are infected they will die in [RANDOM] seconds and turn into a Brood alien.
-[B]*NEW* Forced Spawn[/B] - If you are infected and become a brood alien, you will have 15 seconds to respawn as a brood alien. After 15 seconds you will be forced to respawn. The flip side to this is that the round will now only end if there are NO brood aliens AT ALL. (This means none spawning)
[B][U][SWARM] Aliens[/U][/B]
-[B]Damage[/B] - I feel swarm aliens have a bit too high of damage output and are a bit too durable. Two swarm aliens can easily attack and kill a single human. In my eyes it should takes 3-4. Expect some sort of damage nerf, either to the attack speed or base damage.
-[B]Secondary Attack[/B] - I am thinking of giving the swarm aliens some sort of secondary function. This would be binded to the right mouse button. Ideas i have is a heavy power attack which takes a buildup time before it strikes, or a "shield" mode where you lose movement speed in return for less damage taken.
-[B]Spawning[/B] - The speed at which swarm aliens will spawn will most likely become dependent upon the time left in the round and the number of people playing. The less people playing, the faster. I still have to debate if i want to make the game easier for humans late game, or not. Options would include: Longer Spawn times the less humans alive, Longer spawn times the less time left in the round, or vice versa on either.
-[B]Damage taken[/B] - An alternate to changing the spawn times for swarm aliens, they amount of damage they take could be based upon the number of player there are. More players = more damage. This would make swarm aliens more effective when there are less players, who are most likely grouped. (2 brood, 2 swarm, 6 humans for example). This would also cause swarm aliens to work into groups when there are more players on, instead of going off alone, it would force them to coordinate group attacks.
Once again ill stress the point that Swarm aliens aren't necessarily meant to kill humans. They are supposed to be a waste of ammo when alone, a slight roadblock when in groups of 2-3, and a problem when 4+
[B][U]General[/U][/B]
-Custom voice over for all speech, no more HL2 sounds. This also means a smaller list of things your character will say.
-Redone hud? (If i add roles, something will have to change)
-Announcements when round starts/ends/and who wins via voice announcer. ("Humans win!") ("The infection has spread, Aliens win!")
-Redone scoreboard [Icons for players based on their rank/status, awards, ranking, achievements*]
-Achievements, ranking, awards *
-More donation options / micro-transactions (ideas?)
-Redone round summary
-[B]Quick Weapon Switch *NEW*[/B] (Should it exclude alien form?)
[B]I need suggestions, ideas, comments, feedback, and what not. Make your opinion heard! (I may not make it open like this again)[/B]
* = Just an idea, i may not do this.
Suggestions = Add flamethrower if possible ( Gives more feeling of the original movie)
Make loads of flesh fall out of the alien once it transforms
Delete OOC? ( I keep using it too much :C )
Add more needs?
......Can't think of a lot at the moment since I'm in school.
-MCG
Good shit, looking forward to it.
Sounds good man
Alright so i wrote my own global variable library under the impression that they are broken in some way, shape or form.
Turns out all my problems were due to a small typo that somehow managed to sneak its way into a file. (That i haven't edited in a LONG time)
You could just make random roles that do have no benefit like a pilot.
Other roles that there could be are:
Engineer - Gives locations of buttons to turn on light
Cook - Can add 30 more seconds if your hungry
Plumber - Can add 30 more seconds if you need toilet (somehow)
Hypnotist - Can add 30 more seconds if you need sleep
Cleaner/Janitor - Can add 30 more seconds for cleaning
Then there are randoms that have small benefits like a specific gun spawn say Co-Pilot, Captian, Officer, Grunt just too name a few.
Now that I think of it, I don't think Remscar is reading the suggestion posts.
[QUOTE=RandomPerson15;34493698]Now that I think of it, I don't think Remscar is reading the suggestion posts.[/QUOTE]
Really? Please elaborate.
[QUOTE]You could just make random roles that do have no benefit like a pilot.
Other roles that there could be are:
Engineer - Gives locations of buttons to turn on light
Cook - Can add 30 more seconds if your hungry
Plumber - Can add 30 more seconds if you need toilet (somehow)
Hypnotist - Can add 30 more seconds if you need sleep
Cleaner/Janitor - Can add 30 more seconds for cleaning
Then there are randoms that have small benefits like a specific gun spawn say Co-Pilot, Captian, Officer, Grunt just too name a few.[/QUOTE]
Actually a somewhat good idea, need timers last longer for specific needs. I think ill change the names a bit, like instead of Hypnotist it would be insomniac.
Also the whole Pilot/Co-Pilot/Officer/Grunt kinda touches base with my future plans for the retail game. However i could add those roles, give them small bonuses, and then they are to RP their role, like the Grunts listen to the Captain and what not.
Nevermind about my earlier question, Remscar...though I don't think 9 minutes is enough for RPing. ( Talking about the round time. )
[B]Breaking News[/B]
AU server seems to be down. Unknown reason, while i still have access to the control panel, the hosts main website is down and clients are unable to connect to the server. I am expecting some sort of network issue.
[B]EDIT[/B]
Problem seems to be solved, the host is back online. A complaint was filed incase this happens again.
Since I am a mapper, I could make a map for Morbus. The only thing is that morbus.fgd. Dropbox isn't exactly working that well so could you use another site for the fgd?
[QUOTE=DeepFried;34509052]Since I am a mapper, I could make a map for Morbus. The only thing is that morbus.fgd. Dropbox isn't exactly working that well so could you use another site for the fgd?[/QUOTE]
I hope you make a map with a tester to determine who's an alien and who's not. that'll be fun.
[QUOTE=DeepFried;34509052]Since I am a mapper, I could make a map for Morbus. The only thing is that morbus.fgd. Dropbox isn't exactly working that well so could you use another site for the fgd?[/QUOTE]
Sorry, ill reupload the FGD tonight.
Got the internet connected, and this is going to be the first gamemode I play
Downloading content pack now, so excited
I knew I shouldn't have complimented this game, made a review or anything like that. Even after keeping quiet, I yet again get banned for no apparent reason....other than being slightly annoying. Remscar's a cunt.
Nah, chances are you kept shouting who the aliens were in OOC.
Like the previous [b]six times you've been banned for[/b].
Ummm I have only been banned thrice and I didn't shout who the aliens were this time. How's that for a small change?
[editline]8th February 2012[/editline]
Since I'm banned from the server permanently, I might post a guide based on my knowledge.
This is brilliant. The most fun I've had on Garry's Mod for a long time.
There was a post about making humans value their lives? I think that the class system for Humans will make it more exciting to play humans. A elite class for humans would be good as well like security officer that has the ability to test Brood Aliens or an Anti-Alien weapon that has limited ammunition but can reveal broods by firing acid on them that deals little damage to humans but moderate damage to all aliens and blinds the target. Also means that there is one person who all the humans can trust. However, I would make it so there has to be at least X amount on of players before this elite human spawns to provide balance.
A radio device, that would go into the Glow sticks item slot, would be awesome as well and if equipped would allow players to communicate with each other across the map.
Currently, I go straight for the offense tree. I go Stun, Attack Damage, Attack Speed, Life Steal, then Sprint. I usually don't get much further than that. The other trees don't provide enough enough of an advantage in my opinion, at the start of the game I find the offense tree to provide more of an advantage. Perhaps a skill to give the Brood Alien the ability to climb up walls? It's very similar to AvP but I think it gives the Brood more of a stealth/ambush advantage on groups of people.
[QUOTE=connorm1418;34888693]This is brilliant. The most fun I've had on Garry's Mod for a long time.
There was a post about making humans value their lives? I think that the class system for Humans will make it more exciting to play humans. A elite class for humans would be good as well like security officer that has the ability to test Brood Aliens or an Anti-Alien weapon that has limited ammunition but can reveal broods by firing acid on them that deals little damage to humans but moderate damage to all aliens and blinds the target. Also means that there is one person who all the humans can trust. However, I would make it so there has to be at least X amount on of players before this elite human spawns to provide balance.
A radio device, that would go into the Glow sticks item slot, would be awesome as well and if equipped would allow players to communicate with each other across the map.
Currently, I go straight for the offense tree. I go Stun, Attack Damage, Attack Speed, Life Steal, then Sprint. I usually don't get much further than that. The other trees don't provide enough enough of an advantage in my opinion, at the start of the game I find the offense tree to provide more of an advantage. Perhaps a skill to give the Brood Alien the ability to climb up walls? It's very similar to AvP but I think it gives the Brood more of a stealth/ambush advantage on groups of people.[/QUOTE]
Thank you for your suggestions, i will remember this next time i am working on Morbus.
I've been very busy with life lately, not to mention my interest has taken a bit of a dip, but i hope to be continuing work soon.
[QUOTE=Remscar;34899386]Thank you for your suggestions, i will remember this next time i am working on Morbus.
I've been very busy with life lately, not to mention my interest has taken a bit of a dip, but i hope to be continuing work soon.[/QUOTE]
Makes sense why you're not replying. Is it updated yet cuz I want to write a guide really badly.
-snip-
[QUOTE=Remscar;34916333]-snip-[/QUOTE]
?
Well guys, Turns out that ban was only for about a month but NOW it's permanent. I apparently got banned for something I didn't do for months ( breaking OOC) and he's just banning me cuz I keep asking questions.....I'm the only guy whos questions doesn't get answered...Remscar's a cunt....Back to the point, I wont be making the guide but I will give you something from it
THE TAUNT COMMAND
Type /taunt and you won't be suspected of being an alien AFTER pretending to do your needs, can be used by humans to an extent.
Sorry, you need to Log In to post a reply to this thread.