Twitter / ngrpdev

Monday, April 11, 2011

Upcoming Update - v2.2 (Major)

I've been rather inactive with the blog, very sorry about that, but we've been extremely busy working on the next patch for the server which addresses major issues. Which are:
  • New Command Processor (Major Performance Upgrade - 4x-6x faster).
  • Fixes for other various Performance Issues (Script Efficiency is the best yet!) .
  • Vehicle System Desync Detection (Attempted Fix for various Vehicle System Related Bugs).
  • New Shop Vest Command for Shop Techs (New item for the store).
The brand new command processor is the coolest addition out of the bunch, previously our command processor used a 5 year old system that old GodFathers used, now we use a super fast processor that should end most of the text bottle necking and server-to-client lag. This actually caused most of the hold up, rewriting nearly half of our script (40k lines) isn't really the easiest thing on time.

We are working hard to get this update out on our beta server, and after that we will be introducing it toward our main server. We hope to have this out this week before the next weekend begins.

Thanks!

Sunday, March 20, 2011

Performance Issues - Why is it a problem?

The SA-MP engine can be quite a pickle to code for now-a-days, while it's great that we have an actual engine in which allows us scripters to add our own modifications toward making a gamemode, it also puts puts a serious performance juggling act into our hands. SA-MP originally started out as Vice City Multiplayer with a small player limit, now over the years, it has transformed into more mature multiplayer modification for San Andreas that can hold up to 500 players in a single server instance.

The early days...
While it's great that we can support up to 500 players, it can be a serious problem for us because we have to be extremely careful in what we try to add in toward the server. Let me explain how sa-mp server's architecture really works here, you see the sa-mp client really doesn't process anything that we code in, therefore you might have noticed that when we do update the server, nobody really has to do anything on their end unless sa-mp updates the client and we update the server along with it. Everything is what we call server-side code meaning everything coded for the server is ran by the server. Low population servers really don't have to deal with performance issues - so they can add a lot of really neat stuff, this is what confuses people with our updates. We have to keep a sane amount of efficiency in order for all players to have a smooth lag-free experience, which is a balancing act that we have learned to take very seriously.

~50 commands per 5 seconds, scary!
Let me paint a picture in simple words, imagine single-player gta:sa - with all the variables and logic for just a single person doing a mission, it is at a scale that 1 single server is running that single player 500 times at the same time. Modern MMOs get to use a combination of server-side code and client-side code, also Modern MMos use multiple load balancing servers in order to deliver that crisp smooth experience. We are reaching a point where technical limits are being tested - and if we don't watch out we will lose very quickly. We would much rather have a lag-free environment than a bunch of over-elaborate things that most likely can be RP'd out without needing it.

Let's face it, more players equal more server load, we are never going to have everyone with low pings as if the server was filled with 30 players when we have 300+, the law of physics and technical limits wouldn't exactly allow that with sa-mp. Another thing is the SA-MP server software is single threaded, which means that it won't exactly take advantage over multi-core processors, giving us scripters another pain in the ass to deal with, which is exactly avoid cpu heavy functions that reside in looping timers or player updates.

In the past couple weeks we have been pushing a huge effort to rewrite most of the inner core of the script, to not only give it a cleaner look, but to also make it more efficient and faster when we do have a high player count. Other this weekend, we have been doing a couple of public tests to give us a better idea of what we can do to fix these lag issues. We has seemed to found the source of the problem, being a server misconfiguration and a cpu heavy timer/player update issue. We no longer believe that the cause was directly pinned to those exterior objects and audio plugin, but at this state, we believe that it might have been a direct combination of issues that were summing up to be the problem. So we are still not planning on re-adding them anytime soon. We still have a couple of things to do to fully optimize the script, but at this point, everything should be at a playable state now, thanks for your patience.


That concludes this week's insight, join us next week as we go through the upcoming planned features, such as businesses, transportation faction, etc.

- GhoulSlayeR (Director Of Scripting - Next Generation Gaming, LLC)

Friday, March 11, 2011

VIP Program - Why Do We Need It?

"Remove VIP, Save RP" - We get this a lot from our community, and for being a former player of plenty of other roleplaying servers of the past, I can honestly say I understand where the player base is exactly coming from. So what's the point, why don't we just go ahead and remove it? Why must we let our player base suffer while all these funds are supposedly funding one's vacation.

Our services don't run on air...
The truth is we have operating costs, server space and bandwidth costs money, and no we don't have money coming from trees. It's not only server costs, but we have a 60 member staff - some of which have paid positions. But why do we pay our staff? Because some exceed the regular amount of admin work into jobs that drastically promotes why our server has been so successful. When you pay for VIP or anything from our store, that money goes directly into a fund that can be used to pay the server bills and pay staff members to keep doing  what they do best, without this, we would see higher burn out rates, effectively destroying the staff's productivity.

We also use these funds to expand the community. Sure, we do love our roots and the success that our SA-MP community has brought us, but why stop there? Why can't we pursue other avenues expanding the possibilities of new users joining our community? Our side projects such as Minecraft, IV-MP, Killing Floor, Black-Ops, were the direct result of our VIP Program. Without it, we wouldn't be able to deliver these avenues toward our community.

Die Birds... Die!
One thing that you might have noticed different in our SA-MP Server is that we constantly develop upon it, releasing updates at least every month is something that we are very known for doing. Before the VIP Program, server updates would come around every 4-6 months, and they were mediocre at best. Things like paintball arena, turf wars, new factions, new exterior mapping, etc are all the direct result of the VIP Program. Without it, we would be still sitting around waiting for the next bi-annually update with something on the scale of a simple (our guys from the Research & Development Department are still working on this one) /flipcoin command.

We find ourselves at the end of the day trying to write a formula to balance out a important problem, how can we keep people interested in our VIP Program while keeping those who don't or can't participate in the 
VIP Program happy. We've known for several months that there is a problem with our server's economy, something that direct results from VIP. As a team we have discussed several different options to help mend the economy without killing VIP, and with it we have planned to introduce several fixes in stages. Such as capping interest, adding more options for players to spend money on, and totally rebuffing the prices and costs on our drug and material markets.

It looks like a storm is coming...

When we started the VIP Program, we had no idea that it would have been this successful. While it's very great that we did a excellent job, it also introduced a very serious problem. The material markets that were successful in the past were slowly drilling to nothingness, this was a result of VIP's getting a series of "weapons" from the locker. The weapon dispenser is a very delicate feature of our VIPs and it's not going to be exactly the easiest to fix either. We have as a team, debilitated ideas from removing it completely to increasing token costs of specific weapons. But as of yet, we have yet decided on a firm option to smooth over the issues. I'm sure Devin will let you know a head of time when we do decide on a solution.

As for those who still grip on VIPs, please note this, we would not be where we are at today without them, just the same o' mediocre roleplaying server trying to take a stab the sa-mp market. While those who prefer that mentality of a community, then it's entirely up to them, we have never once forced anyone to use our services, and we are not going to start. In order to keep our services online and free to everyone with frequent updates, we depend on the VIPs a lot, just as much as we depend on our staff to keep doing what they do best.

That concludes this week's insight, join us next week as we take a dive through our latest performance patches toward the server.

- GhoulSlayeR (Director Of Scripting - Next Generation Gaming, LLC)

Thursday, March 10, 2011

Scheduled Maintance


We have issued Scheduled Maintenance on Friday, March 11, 2011 at the following times:

8:00PM EST - 1:00AM GMT

We will be undergoing server maintenance and updating the script with the latest revision, any and all changes will be documented respectfully in the changelogs. We will be offline for no longer than 1-10 Minutes.

New Openings

With the release of MySQL around the corner, we are going to need an extra hand while we straight jacket through a couple of feature release in the next months. As that being said, we have new openings in the Development Team.

Please read our available positions before you apply. Good luck!

- GhoulSlayeR (Director Of Scripting - Next Generation Gaming, LLC)

Wednesday, March 9, 2011

Back In Action

As you may have all know - I have been away for the past few days due to personal issues. I can gladly say that everything is fine and I'm back in action!

During my absence I have been pondering a few ideas to get the general community more involved into the development of our NG-RP SA-MP server. It's very important to have the community involved because we only do the things we do for the community and keeping you outside the loop isn't a very logical thing to even consider. However we don't really invest enough time because we would really like to spend it actually scripting the server.

We started the movement by opening up our changelog toward the public - something the team of the past were really hesitant to do because of the potential risks. Risks aside, having the general public know what we do on a daily basis can ease the mind of those who wish to mock us that we are not putting enough effort into what we do as a team. Then we started a automated system between our svn handler (Assembla) and our Twitter account to seemly stream updates toward the community without anybody really doing anything other than what their suppose to do when they commit an update.

This evening, we are going a little bit more deeper, our own team development blog in which can easily organize our plans with the public without the need of using a forum. In a next following weeks we will be updating this blog with news on upcoming updates and any important news.

Adios. - GhoulSlayeR (Director Of Scripting - Next Generation Gaming, LLC)