Results 1 to 13 of 13
  1. #1
    JadeRue's Avatar
    Join Date
    Mar 2016
    Gender
    female
    Posts
    26
    Reputation
    43
    Thanks
    21
    My Mood
    Asleep

    just a performance/security idea

    i looked at a few sources, and i noticed that a lot of private servers just query the database directly for all their resources, at the expense of query overhead and data vulnerabilities in their servers.

    but since the game is written to redundantly access high-activity nodes of data for quick-saving characters and ensuring fast load-ins, why not have a structure in the source built to store account/character data as a "data synchronization buffer"?

    the buffer could be stored in a separate process from server.exe and wServer.exe to prevent sudden data loss due to possible failure of either system, and it could periodically flush its data to the database or retrieve data for players that aren't stored in the sync buffer.

    without a data sync buffer, the server will do this:
    1.) client enters portal
    2.) server saves client data to memory
    3.) server queries database to save data, near-instant travel time as the database is on the same host as the server
    4.) database runs a search query to find the player rows, causing the database to scan the entire table for one singular operation
    5.) database updates data
    6.) client reconnects to new world
    7.) server queries database to find data
    8.) database runs another search to find the player row
    9.) database returns data to server
    10.) server enters client in

    with a data sync buffer, the load can significantly decrease for the same situation
    1.) client enters portal
    2.) server saves client data to memory
    3.) server updates referenced buffer data (buffer data can contain a pointer to a client processor which will nullify a scan procedure)
    4.) client reconnects to new world
    5.) server retrieves referenced buffer data (near instant travel time because same host)
    6.) server enters client in

    the buffer can be better because it works with less data than the whole database because it only contains data of users that are logged in and active!

    most pservers work with 10 to 150 players so imagine the performance benefit when you only have to run quick data queries on an organized accessible buffer of 10-150 players! most databases by that point will be reaching hundreds to thousands, and being able to query a small kernel of data for server needs can really improve scalability!

    please leave your thoughts!
    Last edited by JadeRue; 03-27-2016 at 07:34 PM. Reason: added something too :)

  2. The Following 8 Users Say Thank You to JadeRue For This Useful Post:

    059 (02-28-2017),cxydsaewq (03-28-2016),Fucking Moron (03-28-2016),ImNotMakdoon (03-28-2016),Jankos (03-28-2016),Kushala Daora (12-07-2017),Lxys (04-03-2016),sacredmike (03-28-2016)

  3. #2
    cxydsaewq's Avatar
    Join Date
    Jan 2014
    Gender
    male
    Posts
    954
    Reputation
    25
    Thanks
    1,341
    My Mood
    Amazed
    You seem to be new to this section, so I'll be quick.
    Most people having a private server are not into coding, at all, they learn as they proceed.
    That being said, only about 1% or even less of the people having a private server could do that.

    Anyways, that sounds like a good idea, if you have more improvements why not join a private server dev team like Phoenix 2?
    You could also release a tutorial and watch people use it without giving credit, your choice

    Anyways, welcome!

  4. #3
    JadeRue's Avatar
    Join Date
    Mar 2016
    Gender
    female
    Posts
    26
    Reputation
    43
    Thanks
    21
    My Mood
    Asleep
    Quote Originally Posted by cxydsaewq View Post
    You seem to be new to this section, so I'll be quick.
    Most people having a private server are not into coding, at all, they learn as they proceed.
    That being said, only about 1% or even less of the people having a private server could do that.

    Anyways, that sounds like a good idea, if you have more improvements why not join a private server dev team like Phoenix 2?
    You could also release a tutorial and watch people use it without giving credit, your choice

    Anyways, welcome!
    i came here to help people :P

    not to pour all my resources into one server like phoenix 2

    i wouldn't mind hopping onto a bunch of servers and making the changes myself

    thanks for the feedback!

  5. #4
    Fucking Moron's Avatar
    Join Date
    Mar 2014
    Gender
    male
    Location
    I need smoke
    Posts
    5,529
    Reputation
    1371
    Thanks
    1,618
    My Mood
    Buzzed
    Looks like someone new knows what they're doing.

  6. #5

  7. #6
    lkdjnfoskjednfblksjdfn's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    127.0.0.1
    Posts
    1,340
    Reputation
    198
    Thanks
    841
    My Mood
    Inspired
    Quote Originally Posted by cxydsaewq View Post
    You seem to be new to this section, so I'll be quick.
    Most people having a private server are not into coding, at all, they learn as they proceed.
    That being said, only about 1% or even less of the people having a private server could do that.

    Anyways, that sounds like a good idea, if you have more improvements why not join a private server dev team like Phoenix 2?
    You could also release a tutorial and watch people use it without giving credit, your choice

    Anyways, welcome!
    Well you seem to be very unaware of current server programmers active on this forum. To make a great server you neccessary don't have to know c# like beast to make something unique that makes a server specific and attractive. This guy is very helpfull. The statement you make about "1% of this community knows how to code" is pretty wrong. I actually find it important to be exact if you really wonna calculate the ammount of active coders and leechers. But. If you have counted every registerd active user on this community, divided with the ammount of users familiar with c#, or any other programming language, and at last multiplied with 100 then, fair enough. Gj. Otherwise don't say such things. Its not really true anymore. Its a bad excuse for helping other people who's just here to achieve hosting their own server and might earning some bits of money.

  8. #7
    cxydsaewq's Avatar
    Join Date
    Jan 2014
    Gender
    male
    Posts
    954
    Reputation
    25
    Thanks
    1,341
    My Mood
    Amazed
    Quote Originally Posted by thenired View Post
    Well you seem to be very unaware of current server programmers active on this forum. To make a great server you neccessary don't have to know c# like beast to make something unique that makes a server specific and attractive. This guy is very helpfull. The statement you make about "1% of this community knows how to code" is pretty wrong. I actually find it important to be exact if you really wonna calculate the ammount of active coders and leechers. But. If you have counted every registerd active user on this community, divided with the ammount of users familiar with c#, or any other programming language, and at last multiplied with 100 then, fair enough. Gj. Otherwise don't say such things. Its not really true anymore. Its a bad excuse for helping other people who's just here to achieve hosting their own server and might earning some bits of money.
    Tell me unique servers?
    Phoenix, doomed, mmoe and that's bout it
    Most people release servers with some new items and maybe a dungeon, not really unique to me.

    Phoenix hat alot of classes, mini games, custom ui etc
    Doomed has a shitload of content
    Mmoe used to be the most actual realm experiance

    Correct me if I'm wrong, just my own opinion mate

  9. #8
    lkdjnfoskjednfblksjdfn's Avatar
    Join Date
    Apr 2014
    Gender
    male
    Location
    127.0.0.1
    Posts
    1,340
    Reputation
    198
    Thanks
    841
    My Mood
    Inspired
    Quote Originally Posted by cxydsaewq View Post


    Tell me unique servers?
    Phoenix, doomed, mmoe and that's bout it
    Most people release servers with some new items and maybe a dungeon, not really unique to me.

    Phoenix hat alot of classes, mini games, custom ui etc
    Doomed has a shitload of content
    Mmoe used to be the most actual realm experiance

    Correct me if I'm wrong, just my own opinion mate
    Sure sure, i see np but unique is from person to person, servers can't be judged in general by a single person ^^ Also i think Regnum was unique not cuz its mine, but it was the first source released with that new type of guis and design ( a design people have not seen before and wanted to explore furthere)

  10. #9
    JadeRue's Avatar
    Join Date
    Mar 2016
    Gender
    female
    Posts
    26
    Reputation
    43
    Thanks
    21
    My Mood
    Asleep
    Quote Originally Posted by cxydsaewq View Post
    You could also release a tutorial
    i could release a tutorial on how to find and fix common memory leaks

    at least then people won't need to restart their servers as often ^.^

    there are a looot of testing/deployment tools offered by microsoft and other developer networks that really help improve stuff, like memory profilers
    puppies! <3

  11. The Following User Says Thank You to JadeRue For This Useful Post:

    Kushala Daora (04-11-2016)

  12. #10
    BlackRayquaza's Avatar
    Join Date
    Nov 2012
    Gender
    male
    Posts
    574
    Reputation
    10
    Thanks
    186
    My Mood
    In Love
    Quote Originally Posted by JadeRue View Post
    i could release a tutorial on how to find and fix common memory leaks

    at least then people won't need to restart their servers as often ^.^

    there are a looot of testing/deployment tools offered by microsoft and other developer networks that really help improve stuff, like memory profilers
    Most servers really need that xD
    YEP cock

  13. #11
    JadeRue's Avatar
    Join Date
    Mar 2016
    Gender
    female
    Posts
    26
    Reputation
    43
    Thanks
    21
    My Mood
    Asleep
    Quote Originally Posted by BlackRayquaza View Post
    Most servers really need that xD
    okay, ill start writing one up!
    puppies! <3

  14. #12
    BlackRayquaza's Avatar
    Join Date
    Nov 2012
    Gender
    male
    Posts
    574
    Reputation
    10
    Thanks
    186
    My Mood
    In Love
    Quote Originally Posted by JadeRue View Post
    okay, ill start writing one up!
    I dont know if you've looked into this yet, but you should try to add IDisposable to some classes as well as removing worlds after they arent used anymore.
    YEP cock

  15. #13
    JadeRue's Avatar
    Join Date
    Mar 2016
    Gender
    female
    Posts
    26
    Reputation
    43
    Thanks
    21
    My Mood
    Asleep
    Quote Originally Posted by BlackRayquaza View Post
    I dont know if you've looked into this yet, but you should try to add IDisposable to some classes as well as removing worlds after they arent used anymore.
    yeah!

    mainly to to the classes that have a non-static lifetime in the software design, which is nearly everything besides things like static definitions or base objects like ticker threads and loggers.

    i've also already wrote up an automatic world disposing system with time-based tolerance.
    puppies! <3

Similar Threads

  1. I just had an amazing idea.
    By FueldByRamen in forum General
    Replies: 16
    Last Post: 05-21-2011, 08:59 AM
  2. Just a new Team idea (since modding died)
    By supercarz1991 in forum Combat Arms Mod Discussion
    Replies: 45
    Last Post: 03-26-2011, 06:31 AM
  3. Just a quick idea?
    By king.joker.9 in forum Operation 7 General
    Replies: 8
    Last Post: 01-05-2009, 07:52 PM
  4. Just an Idea
    By carbon23 in forum Combat Arms Hacks & Cheats
    Replies: 8
    Last Post: 11-06-2008, 10:46 PM
  5. A just plain gay idea(The Gay bomb Invention)
    By radnomguywfq3 in forum General
    Replies: 1
    Last Post: 10-20-2007, 09:42 AM