I did this with xi4n a while ago, and I'd highly recommend pre-parsing the binary packets into json, protobufs or bson, rather than just passing them off as their raw bytes to websocket clients. My first iteration made the mistake of not doing this and it just made the frontend work painful.
It'll make consuming them much much easier in the long run. Personally I'm more of the opinion that json->insim is the easiest option for most things to consume.
Edit: I've just re-read your opening post and maybe I've misunderstood.
/me rubs eyes sleepily
I'm pretty bad with the whole dogfighting thing at the moment. In the PU I doubt it'll be the role that i'll take most of the time That said, I'm finding the high speed aspects of racing is really helping my ship control (with KB+M). Might be worth giving it a go.
At the moment it should be considered that if you buy a ship (even for one thats not available), you're backing the development of the game. A cynical person would say that by releasing the pre-alpha modules and some ships just being flat out better, and not available to all, is just a money grab. I'm a little bit in that boat now that they've raised 55 mil in crowd funding and the cost of the ships and starter packages seem to be rising.
Now, I will admit that the prices of some of the packages and standalone ships is starting to get a little ridiculous. I'm also a little sceptical that the game is going to be up being as Chris Roberts keeps promising.
That all said, I backed when it was on Kickstarter and I was wondering if anyone else in the LFS community had. I know we've got some Elite Dangerous backers also, and I figured perhaps there was some overlap Would be good to bring across friends from one game to another. Admittedly I've been rather absent from the LFS forums recently.
I was wondering, if anyone else has backed, and fancies a LFS.net mini time-trial? We'd probably have to do something like pasting screenshots or the like, for now, but I figured it'd be fun.
If you don't know what Star Citizen is; it's an upcoming space trading and combat simulator. Currently in pre-alpha, smaller components are being released to backers to allow them to experience the game as it's being created.
The Murray Cup is an in-fiction event that allows players to race against each other and is part of the 2nd module, called Arena Commander. There are other modes as well all involving combat
If you want to check it out, I've uploaded a small video of a 3 lap race at the basic circuit (there are more complex ones) - https://www.youtube.com/watch?v=thZFTJdQ3Mg (forgive the crap quality and black bars, I relied on shadowplay, which was a mistake).
There are a bunch of ships available, unfortunately as it's pre-alpha and there's no real game as such at the moment, you cannot earn new ships in-game (which is a bit of a bummer as they're **** expensive imho, even if you are supporting the development it's getting a bit insane). When it's finished this will be possible.
I'm flying a 300i, which is one of the slower ships. There's a few m50s at least 1 350r in that race. Both are about 50% quicker than my ship - however most people don't have any race-craft at the moment so it's reasonably easy to do well (for now).
If anyone is looking for up to date documentation, check out http://theangryangel.github.io/XI4N/. That should always have the most up to date docs (there are some typos on there, but it should be mostly understandable I hope).. Videos are badly out of date and should be ignored.
Patches and pull requests welcome, as always.
xi4n is currently missing unit tests, as well as several features before I'd consider it "complete", however it does generally work.
I'd like to say I'll be getting back into LFS soon but honestly I don't know if I will.
Edit: To anyone misunderstanding - I'm not poo-poo-ing the idea of syn cookies - it's a very good idea to enable that feature if your OS supports it it's a sensible guard again flooding, but just be aware like all things it's not a magic bullet
If you're going down that route, keep an eye on, or parse and update from the Tor exit node list.
Depends.
If a DoS attack is simply trying to max your connection, then 1Gbps may not be enough, depending on who you piss off, how good your providers solution is (without knowing what they have setup, thats unanswerable), how many uplinks they have, what size they are and how well they communicate with their upstream providers. There have been DDoS attacks in the range of hundreds of Gbps this year.
If a DoS attack is more targeted (i.e. intelligent), and not simply about brute force maxing your connection, then it again depends on what your provider has in place and what sort of attack it is. There are many "attacks" that will simply look like normal traffic, but result in tying up resources so that your server can't respond to legitimate requests - but leave your connection at a relatively low level of usage.
If you're looking for advice, unless you're going to loose money, don't worry about it - there are more important things in life.
I'm not booted into windows, so I can't check for sure, but if I remember correctly my SRW-S1 just needed the axis assigned.
Make sure you select wheel/joystick from the options > control menu, and assign accordingly on the Axis/FF tab, and it should just work LFS won't auto-detect the SRW-S1 and set it all up for you.
Its a compiler trick you can use to determine the "length" or "size" of an enum. A compiler will sequentially assign numbers to a enum definition, if not specifically defined. So taking MSO enums into account this translates to:
1. Use constraints (license VARCHAR(32) UNIQUE NOT NULL) and suppress the error/exception on insert failure - simple, quick, although arguably a little hacky as it requires you really suppress the right error to avoid bugs
2. Exactly as you described - how you do this depends on what library you're using to connect to MySQL. Read the documentation?
3. If you want to update something if the user exists (such as last time they were seen, or number of times they've connected) you can do this in one SQL statement by using insert on duplicate update (WARNING: This is MySQL specific)
Since 1 is easy, 2 requires additional information, I'll only describe 3 in more detail.
Assuming a simple table like this:
create table racers( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, license VARCHAR(32) UNIQUE NOT NULL, data VARCHAR(255), seen TIMESTAMP DEFAULT UTC_TIMESTAMP );
The following will attempt to do an insert, otherwise will perform an update storing the last seen time (the UNIQUE license constraint is the magic here):
insert into racers (license, data) values ('the_angry_angel', 'pies') on duplicate key update seen = UTC_TIMESTAMP;
Obviously substitute a parameterized query, or at least filter your inputs through whatever library you're using.
You've not specified what you're writing it in, so I'm going to describe the simplest way you can do this, using the InSim protocol. You'll need to adapt it for whatever library you're using.
On IS_NCN (InSim NewConnectioN) send one or more IS_BTN (Insim BuTtoN) to the ucid of the new connection Set the IS_BTN properties to match what you want to display (i.e. text = "welcome, blah blah". If you want to autoremove it after X seconds, send a IS_BFN (InSim Button FunctioN) with a subtype of BFN_CLEAR (clears all buttons created by this InSim instance on this user's screen).
If you want the user to click to remove, listen for a IS_BTC (InSim BuTton Click) with the clickid set to your close button's clickid, then send a IS_BFN with a subtype of BFN_CLEAR.
Thats more or less what I'd already come up with, but without buttonClick and buttonType (callback references would be passed to the buttonCreate/buttonTextbox).
It just seems a little pointless vs just handling packets I was mostly hoping someone had/would come up with an idea that I hadn't =/
This afternoon I've been trying to put together a more simplified API to sit on top of the buttons packets.
The problem is that whatever I come up with is basically shit and I'm getting 0 inspiration, and staring a blank screen.
I want to abstract away click IDs, and generating packets, having automatic callback handling, etc. however I either end up with what is basically a proxy to IS_BTN, etc. or something that's ridiculously pointless.
Anyone got any thoughts or ideas on the subject? I'm almost at the point of dropping it completely and just having a click ID manager.
Seriously though, I'd love to add it to xi4n's string library (if you guys are happy with that) and replace the current half arsed implementation I've got
Importing and aliasing is an option here, rather than using the fully qualified name each time.. Plus automated search and replace should be an option as well
I typically check the forum at least once a day. If you want to talk privately there are PMs
If you'd prefer more real time that gets tricky. However, I'm typically on several IRC networks (including #liveforspeed on gamesurge) 24/7, with the same nick as my forum name. If I'm AFK my away message will be set - but if you leave a message I'll get it eventually. During my working hours (8am til 6-8pm most days at the moment) I'm normally there but if I'm doing something I might not be able to respond. Outside of working hours are spotty as mentioned in my previous post, and will be for at least 6-8 months.
Failing that theres email or Skype as well, but I'll send that via PM if you really want it.
xi4n (a framework to talk to LFS over InSim/Outgauge) has a livemap plugin that is very similar to this (video at http://www.youtube.com/watch?v=vuZly5agOkM). It's still a rather developer-y tool at the moment, but it's completely open source (https://github.com/theangryangel/XI4N) - patches and pull requests are welcome - it doesn't have any customisation tools, but they could be added in theory.
There is also a camera tool in the works, but at the moment I'm not working on personal projects as I'm going through a shit tonne of paperwork for a probate, trying to hold down a job and sort the house. However in 6-8 months time when all that shit is out of the way I'll stick my head back into xi4n.
I did have a look, but sadly not Probably wiped it years ago. Bob might have it to hand if he's still got an old version of his setup tool source. Failing that netzob might make your life easy - I've never had a reason to run a file through it yet, only nework communications so ymmv
Unless I'm mistaken from what I remember the format wasn't that much different from what the current version is. Just some fields removed. I know that's not definitive, but hopefully helpful.