Oh, so you went the SSL route for everyone yesterday huh!? That's a great step, don't really want the possibility of people hijacking my sessions.
When I first noticed it I got a mixed content warning, so I thought for a second that you where doing the DNSSEC Route. But then I realized that you got a whole SSL cert for the site. Hopefully DNSSEC will be supported better by the time you have to renew your certificate so that you can self sign the site and not have to worry paying for an SSL cert.
Looks like it brakes compatibility with older code, but that I'm OK with. Just make sure you put it in the notes as a breaking change.
Once you learn how to use git, it's awesome. It should even merge the changes from the 0.4.3 version you're using, and it should bring it up to date with the changes in 0.4.4, but keep all of the modifications you've made to the code base.
Cool stuff, T3 if you want to submit those changes as patch I'll happily merge them and you can release the next version of PRISM (just don't forget to add yourself as a dev to the PHPInSimMod.php file at the top of the class definition).
I've never used Airio, so I don't know what it can and can't do. I also didn't know they had a free one. From that, I really can't explain why people are still using this ...
I'm honestly surprised that anyone is still using it, while PRISM still works quite well with the current version of InSim, it is in such bad need of a re-write from the ground up. The odd thing is, that I think the numbers of people using PRISM is going up quite significantly over the past few months, I'm guessing we are getting some people switching over from ARIO, and new servers showing up that don't want to pay for something that is no longer supported.
Thank you dusty for pointing out the part that is important! You don't even have to do it in JavaScript, you can still do the whole game in C / C++ with the NaCl backend. You really could have LFS in your browser, running native on every platform, Mac, Linux, Windows.
Decompilers don't get it wrong really, they just take the machine code and turn it back into asm. From there you can decide how you want to make it into C code or something like that, but that you'd really have to do by hand, because the asm that the decompilers turns it into could be any kinda of C construct, it just depends how it's used. There are for example, no for loops in asm, it's just a trick that the compiler abstracts for the programmer.
You should make a packet buffer that all of your packets go into, from there, you should only send a few packets at a time. Look at what Victor did in PRISM's code for examples on how to do that.
I think they will drop it in 5.6 / 6.0 compleatly, from the threads I've been reading in the PHP mailing list, they hate maintaining support for it, it's a headache to keep it going ... kinda like putting a band aid on a zombie, the underlying problem is still that it's a zombie. That's kinda how they feel about it. So at this point forward, it's PDO or MySQLi for MySQL support within PHP.
Looks like the PHP Devs are getting rid of ext/mysql in the next versions of PHP. PHP 5.5.0 Alpha 2 deprecates it, with full on removal expected in PHP 5.6.x and PHP 6.0.
sqlite3 is bundled with the core prior to 5.4, at least it was for me, when I compiled php with the default `config` and `make` settings. Ya know I did not notice that they changed that with 5.4, man the PHP's devs a freaking killing me here! Now we don't have a single 'core' db engine that we can count on being there ... ****!
Yeah, I think it's the best fit for PRISM. The fact of the matter is right now, you need to have the sockets module installed for PRISM to function at all, so I feel that having this also is a no-brainier, just like having the sockets module.
I see your point. I think at this point we would need some hard data to prove that it would work better, like some bench mark results. But I really don't have any desire to add MySQL support to PRISM. I'm only happy with SQLite because it comes in the engine's core, so we can be sure that everyone will have it.
It's not that I disagree with you, I just think of it from an end programmers point of view and an end user point of view. From the programmers point of view there are some thing that I would like to know, but don't need to know right away. For example, a clients database information to update their UI state. I can wait for this information to become available. From a users point of view, If I can avoid a blocking IO function in an SQL query that provides me with a responsive user interface. That is massive! If we can pull that off with the tools given that would help the programmer and the user.
I see this happening in two ways. I've already discussed the first case above, where I don't need to know the details of the SQL query right, I can wait for these resources to be yielded to me. However this does not work if I am trying to authenticate a user. For that, I may need some purposefully blocking IO here to make sure that the next part of the function is only called in the case where my client is authenticated and authorized. I see the query prototype for this method looking something like this.
Using this method above, PRISM would create an array of query strings and callback functions. It would keep track of what query string should go to what function once it's result yields. It then iterates over this array at the end of the main loop. This should allow for blocking and non-blocking querys. The non-blocking queries should not block the main loop of PRISM, in theory at least, meaning it should allow for the continued processing of packets even while there are outstanding SQL queries.
Maybe I've read the spec wrong, maybe python's implamentation of coroutines is different then that of PHP's. maybe I can't yield a SQL query. But if I can, I think that it would be a huge win for the programmers and end users of PRISM. I would love to start working on a proof of concept for this, but it seems that I'm going to be stuck working for the rest of my life. But this would be very cool to see. Maybe if I get a night I make a build of PRISM with coroutines, maybe it will be awesome, maybe it won't.
Yeah, never heard of Luvit, but hey, ASync IO for Lua that's always a good thing! Well then repeat83, apparently you should port LuaLFS to use Luvit and then you won't be bored.
PRISM's network IO is non-blocking unlike LuaLFS ... We are working on making SQL IO nonblocking in the next major version of PRISM as well.
Yeah, they are primarily talking about SQL query, they are the devs for BBQSQL, that basically allows you to quickly find out the information about the SQL server from various attack vectors available to it. Having a non-blocking SQL part to RRISM would be immensely helpful as well.
Scawen, something you might find interesting ... It's a Defcon 2012 (20) talk about fuzzing online games.
DEFCON 20: Fuzzing Online Games, might give you some ideas as to what Anakin Skywalker is doing. The idea of using packet information and correlate that memory offsets so you know what packet affects what memory offsets. It's very useful to combine both of them from the outside ... and then there is DEFCON 19: Hacking MMORPGs for Fun and Mostly Profit that goes over some techniques that he might be using. I would of PM'ed or emailed you with this, but your account does not allow PMs from low life members like myself.
Victor, take a look at the video that I linked to below for the network portion of PRISM 0.5.0 using PHP 5.5.0.
The video it's self is of the networking portion of BBQSQL, written in Python. They are using Coroutines (Now available in PHP 5.5.x) to get a lot of proformance in their networking IO because it switches from the first IO request to the next when it get's to an blocking IO call. Could be interesting for the next version of PRISM's networking stack.
@Dustin I like Nano when I'm SSH'ing into something and I need to change a text file, like a config file really quickly, but other then that, I would use this ... simply awesome that I can SSH into my computer using my text editor and edit a file on my platform without much of a headache. Plus I like it's syntax highlighting, it reminds me of github's color scheme.
@TAA, I never really got the hang of VIM, I've always perfered nano. *Hides*
@MadCatX, you don't _have_ to pay for it, you can try it out for as long as you want. I've downloaded it and I've not bought it yet because I don't have the money yet. And it very gently nags you every now and again that you should pay for it if you use it that much. I really like that it does that too, let's you use it for free, but reminds you that it's not really free software. I'm quite happy to pay for it once I have the funds, respect for doing that.
@thisnameistaken, that's funny that the guy next to you was using it as well and you had no idea! Ask him if he uses any plugins that he finds useful.
@EVERYONE
If you find plugins that you find useful, please do post them here, I would love to take a look at them.
Well, after the recommendation of Cyril Kowaliski of Tech Report fame, I've finally stopped using Notepad2 for all of my text editing and programming. I've completely fallen for [url=]SublimeText[/url] I love that it works on Windows, Linux and Mac (In that order). But what I love even more then that is that it has a Linux style [url=http://wbond.net/sublime_packages/package_control]package control manager[/url] to install plugins on the fly!
I've downloaded a few already that I find indispensable!