Thread: We need an API

Page 6 of 17 FirstFirst ... 4567816 ... LastLast
Results 51 to 60 of 164
  1. #51  
    Valar Morghulis

    Laxika's Avatar
    Join Date
    Sep 2006
    Age
    32
    Posts
    2,813
    Thanks given
    1,804
    Thanks received
    274
    Rep Power
    2128
    Quote Originally Posted by q a z7o View Post
    What about creating some form of script compiler? We could set the language layout within some xml files. We would create our own scripts using our own langauge then on server startup the compiler would compile the scrips into suitable java files and then in .class files for the JVM. We could use a custom class loader which locates, loads and gets the classes for use within the core? At least the compiled scripts would be in bytecode form and directly compatable with java so the performance would be similar apart from class loading.
    You can compile straight to bytecode if you write your own compiler but I think it's unnecessary. Suppah is right, Java is the way to go imo.
    Reply With Quote  
     

  2. #52  
    I dunno, its fine I guess

    Join Date
    Feb 2007
    Posts
    147
    Thanks given
    12
    Thanks received
    33
    Rep Power
    265
    Quote Originally Posted by Chris Fletcher View Post
    Apollo is a project which has the potential to make the RSPS community leap forward in not only productivity, but also in stability, ease of use and open source. When handed to the right people, Apollo will without a doubt maintain its well-deserved reputation of the best base out there. And everyone will be able to use it. That's the beauty of the entire concept.
    Where to begin.

    I would first off like to commend you for that absolutely charming review of Apollo. I had no idea servers were open source these days; it must truly be a unique project. Oh wait.

    From a very high level view, Apollo is simply a glorified Hyperion with more abstraction, more mindfucking event/thread/synchronization herpderp, and a botched attempt at scripting.

    While I will agree that scripting is where we should be headed, Apollo should be looked at as no more than a step in the right direction, but by no means the final solution, or "best base out there" as you put it.

    The problem with Apollo, is that it has too little emphasis on scripting. Read super_'s posts earlier in this thread; he seems to have the right idea. The server 'base' simply serves to create the model with which the scripts act on, and all of the content is only implemented in scripts not in the core.

    I do like Apollo's plugin idea though, and I think that should definitely be one of the goals of future servers. For example, finding a pre-built plugin on rune-server and dropping it into your server and having it work on its own. Or, even further down the road, making some kind of package manager type thing which automatically updates plugins.

    Anyway, I know this went on pretty long. The takeaway of this is that while Apollo is working towards how servers should be, it is not the final solution and definitely NOT something "everyone will be able to use" as you said.

    Love,
    Jim
    Reply With Quote  
     

  3. #53  
    We need an API



    Scu11's Avatar
    Join Date
    Aug 2007
    Age
    30
    Posts
    16,307
    Thanks given
    7,215
    Thanks received
    12,308
    Rep Power
    5000
    Quote Originally Posted by Jim View Post
    more mindfucking event/thread/synchronization herpderp
    So what you're saying is you don't understand synchronization or threading and you're calling it a mindfuck? Talk to anyone who knows somewhat how to program properly on this site and you'll find that they share the same opinion, that apollo is a design masterpiece. It is built how a server should be, and programmed correctly. The inability for people to move on or to learn how these things works is what stops RSPS from ever reaching the level of other private servers such as World of Warcraft private servers.

    Quote Originally Posted by Jim View Post
    and a botched attempt at scripting.
    Not sure why you think this at all. The plugin system worked wonderfully well when I worked on it, the ability to intercept any game packet or add a listener to a game event made for good clean content development.

    Quote Originally Posted by Jim View Post
    by no means the final solution, or "best base out there" as you put it.
    Nobody said it was the "final solution", but as it stands, it is the best base out there, in terms of design and performance.

    Quote Originally Posted by Jim View Post
    The problem with Apollo, is that it has too little emphasis on scripting. Read super_'s posts earlier in this thread; he seems to have the right idea. The server 'base' simply serves to create the model with which the scripts act on, and all of the content is only implemented in scripts not in the core.
    There's about 10 things in the release version that could do with being moved from the java core to the plugin system, you make it sound like the entire design is flawed, when in reality it does exactly what super_ stated it should do (separates core code from content).

    Quote Originally Posted by Jim View Post
    The takeaway of this is that while Apollo is working towards how servers should be, it is not the final solution and definitely NOT something "everyone will be able to use" as you said.
    But everyone can use it. Anyone is able to drag and drop a plugin by released by someone else and have the exact same content without the need to rip and fix shit by picking and choosing from existing bases.





    For someone who was trying to push the move to rs2d only a few years ago, you don't seem very keen any more to move people onto the change that has been needed for years.

    Attached image
    Reply With Quote  
     

  4. Thankful users:


  5. #54  
    Donator


    Join Date
    Jul 2009
    Posts
    1,875
    Thanks given
    119
    Thanks received
    233
    Rep Power
    408
    Quote Originally Posted by Supah Fly View Post
    But can never run as fast.

    Edit: Looking at LuaJ it has lua to java bytecode compiling. Why involve another layer when the solution is as easy as just using Java? What are the benefits of using Lua as a "script" or "plugin" language instead of using Java?
    lua makes it easier/quicker to add actions to certain things, and really takes no experience to figure it out, thats why big companies use it. also, you dont have to re-compile LUA script during every change ingame, this is good for big games such as world of warcraft, it can take hours/days to compile.
    Reply With Quote  
     

  6. #55  
    Registered Member
    Shamon King's Avatar
    Join Date
    Aug 2007
    Posts
    3,335
    Thanks given
    90
    Thanks received
    228
    Rep Power
    1363
    Quote Originally Posted by Scu11 View Post
    But everyone can use it. Anyone is able to drag and drop a plugin by released by someone else and have the exact same content without the need to rip and fix shit by picking and choosing from existing bases.
    True this but there is very VERY little pluggins out there for apollo. Most of the released tutorials and snippets deal with core edits. Not only that most people don't know ruby nor want to learn.

    http://www.rune-server.org/runescape...-plug-ins.html

    It'd be nice if there were a few tutorials to get people started on hooking into the events with rubby, such as some commands, teleporting, giving items on an object action, and timers. (I'd appreciate this)
    Ya there's some explanation in bootstrap.rb and you can look at other plugins but I really don't understand it still x-X

    What keeps wL servers so popular is the content available when downloaded and the large variety of tutorials for custimization which apollo lacks.
    Do keep in mind that the majority of RSPS users are around ages 12-14. Youngsters don't like transition, they like things to be simple and effortless.
    Reply With Quote  
     

  7. #56  
    I dunno, its fine I guess

    Join Date
    Feb 2007
    Posts
    147
    Thanks given
    12
    Thanks received
    33
    Rep Power
    265
    Quote Originally Posted by Scu11 View Post
    So what you're saying is you don't understand synchronization or threading and you're calling it a mindfuck?
    I understand it fine, and probably better than most here. What I'm referring to is how this is still a problem that won't go away.

    To quote Thiefmn/Aero on another thread: "All I have to say is here we are, months, maybe even years later, still spending time on such a stupid problem. How much more effort is going to be put into this one concern? [...] this is one of the only topics I ever see discussed now (and one of the only things people tend to claim differentiate their source from others)."

    Graham's networking and event designs are always very complex, and coming from my experience with Hyperion it's only getting worse.

    Quote Originally Posted by Scu11 View Post
    Talk to anyone who knows somewhat how to program properly on this site and you'll find that they share the same opinion, that apollo is a design masterpiece.
    Everyone treats Graham like a god, it would be hard to find someone with a dissenting or neutral opinion.

    Quote Originally Posted by Scu11 View Post
    It is built how a server should be, and programmed correctly.
    That's your opinion, which you are entitled to. I don't agree with it, however.

    Quote Originally Posted by Scu11 View Post
    The inability for people to move on or to learn how these things works is what stops RSPS from ever reaching the level of other private servers such as World of Warcraft private servers.
    I don't have any experience with WoW servers, but I can say that making a very complex server like this will not appeal to the masses. The only way to do that is through a nice/easy scripting facade and detailed documentation. While the Ruby API of Apollo is getting there, it is certainly not as great as it could be.

    Quote Originally Posted by Scu11 View Post
    Nobody said it was the "final solution", but as it stands, it is the best base out there, in terms of design and performance.
    Another opinion. I have no reason to believe this, still, as you've given no solid data related to performance. Why? Because performance metrics are fucking impossible to measure accurately, as all of this nitpicky synchronization argument has never had any real benefits illustrated.

    Quote Originally Posted by Scu11 View Post
    But everyone can use it. Anyone is able to drag and drop a plugin by released by someone else and have the exact same content without the need to rip and fix shit by picking and choosing from existing bases.
    A lot of the tutorials I've seen still involve patching the Java code, so it is not yet a drop-in system as it should be.

    Also, Shamon King sums it up well: "[...] the majority of RSPS users are around ages 12-14. Youngsters don't like transition, they like things to be simple and effortless."

    Quote Originally Posted by Scu11 View Post
    For someone who was trying to push the move to rs2d only a few years ago, you don't seem very keen any more to move people onto the change that has been needed for years.
    I don't know why you think that. I stated in my previous post that Apollo is working towards how servers should be.

    And, if you're going to quote everything I say like that, I'm going to do it right back. I know that strategy .

    Ur bestest frend,
    Jim
    Reply With Quote  
     

  8. #57  
    Programmer, Contributor, RM and Veteran




    Join Date
    Mar 2007
    Posts
    5,147
    Thanks given
    2,656
    Thanks received
    3,731
    Rep Power
    5000
    Quote Originally Posted by Jim View Post
    A lot of the tutorials I've seen still involve patching the Java code, so it is not yet a drop-in system as it should be.
    The reason for this is mainly the fact Apollo wasn't finished. Eventually once enough development is done on it by some decent people, I hope the core will be roughly complete and almost content will be able to be produced as scripts.

    Quote Originally Posted by Jim View Post
    Also, Shamon King sums it up well: "[...] the majority of RSPS users are around ages 12-14. Youngsters don't like transition, they like things to be simple and effortless."
    In my opinion, dropping a few files into a folder is easier than following the search/copy/paste-style tutorials around here.

    The problem with BlakeScape-derived servers is that they've gained a lot of momentum. Almost all of the tutorials/snippets around here are for BlakeScape servers.

    I don't think the typical users here would mind a transition - most of them don't have a clue about programming nor do they know much about the server they are using and its structure. All most of them do is download what is popular, host it and possibly apply tutorials.

    Quote Originally Posted by Jim View Post
    I understand it fine, and probably better than most here. What I'm referring to is how this is still a problem that won't go away.

    To quote Thiefmn/Aero on another thread: "All I have to say is here we are, months, maybe even years later, still spending time on such a stupid problem. How much more effort is going to be put into this one concern? [...] this is one of the only topics I ever see discussed now (and one of the only things people tend to claim differentiate their source from others)."
    The problem thief is referring to in that quote is about networking. Apollo doesn't really do anything novel in that regard: it simply uses Netty in a very similar manner to how servers like Hyperion and rs2d used MINA.

    What Apollo does do differently to existing servers, is things like the plugin system, being able to intercept packets to nicely add non-default behaviour in certain cases (this cleans up the giant packet handlers), a variety of listeners which can also be used in scripts (e.g. inventory, skill change, interfaces, etc.), an action system and an interface system which keeps track of what the player has open.

    It also has an update server, integrated support for reading data from the cache, multiple-revision support (which is really a side-effect of separating the encoding/decoding logic from the representation of packets themselves) and some more things I've probably missed.

    Quote Originally Posted by Jim View Post
    Graham's networking and event designs are always very complex, and coming from my experience with Hyperion it's only getting worse.
    I personally don't think Hyperion is very complex, it's probably on a similar level of complexity as rs2d is.

    Apollo isn't that bad either imho, some bits do need to be improved (e.g. the player update code) but on the whole I think it's quite a clean design, with different concerns separated well. Individual components aren't too hard to understand, although initially looking at the whole server might be a bit confusing.

    Quote Originally Posted by Jim View Post
    Another opinion. I have no reason to believe this, still, as you've given no solid data related to performance. Why? Because performance metrics are fucking impossible to measure accurately, as all of this nitpicky synchronization argument has never had any real benefits illustrated.
    There have been a few tests of Apollo e.g. one is here:

    http://www.rune-server.org/runescape...ml#post3178901

    I'd really like to do a test with several hundred real players on Apollo, but that wouldn't be that easy to do.
    .
    Reply With Quote  
     

  9. #58  


    Major's Avatar
    Join Date
    Jan 2011
    Posts
    2,997
    Thanks given
    1,293
    Thanks received
    3,556
    Rep Power
    5000
    Quote Originally Posted by sylas View Post
    it can take hours/days to compile.
    When are you trying to compile stuff, 1975?
    Reply With Quote  
     

  10. #59  
    ???

    funkE's Avatar
    Join Date
    Feb 2008
    Posts
    2,612
    Thanks given
    255
    Thanks received
    989
    Rep Power
    1366
    Quote Originally Posted by Scu11 View Post
    Talk to anyone who knows somewhat how to program properly on this site and you'll find that they share the same opinion, that apollo is a design masterpiece. It is built how a server should be, and programmed correctly.
    I can program "correctly" and I don't share the same opinion as you. Apollo isn't the greatest server ever created and it isn't designed 100% correctly.

    You need to realize that not everything is as good as it can be. Everything can be improved to be better. You know you've reached a programming roadblock when you think you're done with your code. Graham is living in reality where he knows that not everything is rainbows and sunshine over in Apolloville. There's always room for improvement and the thing that makes him a good programmer is that he knows these facts.

    Nobody said it was the "final solution", but as it stands, it is the best base out there, in terms of design and performance.
    Yeah, sure, it's the best base currently released. I agree with that. But then again it's still a step in the right direction. There are multiple ways to design a server and thinking that this is even close to where it ends is where you're wrong. Thinking so just gives you tunnel vision.

    There's about 10 things in the release version that could do with being moved from the java core to the plugin system, you make it sound like the entire design is flawed, when in reality it does exactly what super_ stated it should do (separates core code from content).
    I said that too in the original post...

    Quote Originally Posted by Shamon King View Post
    Do keep in mind that the majority of RSPS users are around ages 12-14. Youngsters don't like transition, they like things to be simple and effortless.
    Clearly this point is true because if it were so "simple and effortless" then people would be using it more. Servers like this are popular because you just fucking write code, that's what you do. You don't spend 10 hours on learning how to do everything all over again in another language for just a mere stability advantage.

    Quote Originally Posted by Graham View Post
    The reason for this is mainly the fact Apollo wasn't finished. Eventually once enough development is done on it by some decent people, I hope the core will be roughly complete and almost content will be able to be produced as scripts.
    I don't see why you don't finish it yourself?

    The problem with BlakeScape-derived servers is that they've gained a lot of momentum. Almost all of the tutorials/snippets around here are for BlakeScape servers.
    You don't get anywhere, especially at the beginning, by sitting on the sidelines. If you want it to be a true success you need to really promote it and support it.

    The problem thief is referring to in that quote is about networking. Apollo doesn't really do anything novel in that regard: it simply uses Netty in a very similar manner to how servers like Hyperion and rs2d used MINA.
    There isn't really much you can do in terms of networking.

    What Apollo does do differently to existing servers, is things like the plugin system, being able to intercept packets to nicely add non-default behaviour in certain cases (this cleans up the giant packet handlers), a variety of listeners which can also be used in scripts (e.g. inventory, skill change, interfaces, etc.), an action system and an interface system which keeps track of what the player has open.
    That's the basic idea of what servers should let content developers know.

    It also has [..] multiple-revision support (which is really a side-effect of separating the encoding/decoding logic from the representation of packets themselves)
    Multiple-revision support is detrimental to development. For anyone to release anything good they would have to apply essentially the same things for as many times as there are supported protocols. Supporting revisions that have different features is stupid and shouldn't be a design feature. For people writing their own stuff... If they added something new to the client they'd have to add it to all the clients to keep the multiple revision support working.
    .
    Reply With Quote  
     

  11. #60  
    We need an API



    Scu11's Avatar
    Join Date
    Aug 2007
    Age
    30
    Posts
    16,307
    Thanks given
    7,215
    Thanks received
    12,308
    Rep Power
    5000
    Quote Originally Posted by Supah Fly View Post
    I can program "correctly" and I don't share the same opinion as you. Apollo isn't the greatest server ever created and it isn't designed 100% correctly.
    I disagree, Apollo is currently the best base released for anyone to use. Whether its the best ever created, who knows (how can I know what some guy has done privately?)


    Quote Originally Posted by Supah Fly View Post
    You need to realize that not everything is as good as it can be. Everything can be improved to be better. You know you've reached a programming roadblock when you think you're done with your code. Graham is living in reality where he knows that not everything is rainbows and sunshine over in Apolloville. There's always room for improvement and the thing that makes him a good programmer is that he knows these facts.
    Once again, nobody said it was finished. I am talking in terms of current releases.


    Quote Originally Posted by Supah Fly View Post
    Yeah, sure, it's the best base currently released. I agree with that. But then again it's still a step in the right direction. There are multiple ways to design a server and thinking that this is even close to where it ends is where you're wrong. Thinking so just gives you tunnel vision.
    Where did I say it was "close to the end"? I didn't, so how am I wrong? No server will truly be "near the end", and I never claimed apollo to be. However, in terms of the design of the separation of core code and content, yes it is near the end (as the systems are in place for content development to begin on apollo without interfering with any core code).


    Quote Originally Posted by Supah Fly View Post
    I said that too in the original post...
    I wasn't replying to you?


    Quote Originally Posted by Supah Fly View Post
    I don't see why you don't finish it yourself?
    Because he's busy and has already committed a lot of time to it.


    Quote Originally Posted by Supah Fly View Post
    For anyone to release anything good they would have to apply essentially the same things for as many times as there are supported protocols. Supporting revisions that have different features is stupid and shouldn't be a design feature. For people writing their own stuff... If they added something new to the client they'd have to add it to all the clients to keep the multiple revision support working.
    I'm not sure you understand how the multi-revision support works. Apollo can only run one revision at a time, it's not running 474 and 562 or whatever (as that would cause gameplay and code to suck), but it allows a user to easily edit what revision the server runs on as it is all contained in one folder, then you simply need to choose which revision to run in the startup args. This means if a user wants to change revision, they don't have to go through a load of code that is revision dependent, they just make a new revision folder and document the packet encoders/decoders and any other revision dependent material.

    Attached image
    Reply With Quote  
     

Page 6 of 17 FirstFirst ... 4567816 ... LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Skills API?
    By Mister Maggot in forum RS2 Server
    Replies: 12
    Last Post: 08-24-2010, 01:17 AM
  2. What's the best API?
    By TriConnectivity™ in forum Help
    Replies: 12
    Last Post: 06-15-2010, 11:52 PM
  3. what API does RID use?
    By sylas in forum Application Development
    Replies: 17
    Last Post: 05-16-2010, 11:22 PM
  4. Networking Api
    By Karilz in forum Voting
    Replies: 6
    Last Post: 05-04-2010, 05:55 AM
  5. Which API?
    By Discardedx2 in forum RS 503+ Client & Server
    Replies: 35
    Last Post: 04-09-2010, 01:07 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •