The online racing simulator
Searching in All forums
(789 results)
the_angry_angel
S3 licensed
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
Last edited by the_angry_angel, .
the_angry_angel
S3 licensed
Quote from bbman :Backer here... Haven't tried the racing yet though... I don't think I could be setting records, focused more on being able to defend myself than speed - I think that's more useful most of the time...

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.
the_angry_angel
S3 licensed
Quote from CodeLyoko1 :Star citizen, where you pay for being able to buy a ship in the future.

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.
Star Citizen now has the Murray Cup available
the_angry_angel
S3 licensed
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).
Last edited by the_angry_angel, .
the_angry_angel
S3 licensed
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.
the_angry_angel
S3 licensed
Quote from MadCatX :SYN cookies are enabled

If you missed it, there was an interesting post on the full-disclosure mailing list a few days ago about exploiting syn cookies for blind tcp connections (http://www.jakoblell.com/blog/ ... poofing-with-syn-cookies/). If it could be combined with something like the ack-get (which I believe is still do-able - http://www.thice.nl/creating-ack-get-packets-with-scapy/) you've got a powerful combination if you have an exploitable service that's locked down

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
the_angry_angel
S3 licensed
Quote from hayward :Now i have various iptables rules set and blocked as many proxys that i can find.

If you're going down that route, keep an eye on, or parse and update from the Tor exit node list.

Quote from hayward : Now my question is this... im connected to a 1Gbps Backbone will the bandwidth be able to handle any such attack if it does happen?

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.
the_angry_angel
S3 licensed
Quote from Bose321 :This honestly doesn't look interesting at all. It might be fun, but I don't see what should make this any special?

Updates and a lack of a subscription appeals, assuming the physics+netcode are good
OpenWheel [Kickstarter]
the_angry_angel
S3 licensed
OpenWheel @ Kickstarter.

Not sure if I'm gonna drop money on it, mostly because I need to kick the Kickstarter habit, but I thought others might be interested.

Not a word on physics that I can see thus far, but it appears to have a lot of the points about LFS that I enjoy - such as pick up racing, etc.
Last edited by the_angry_angel, . Reason : Accidentally a word
the_angry_angel
S3 licensed
Quote from the flyinmech :New guy here. I cannot get my wheel to work. It shows up on the screen, but dosent seem to be reqignized. I use iRacing(too expensive and limited), and Simracing(too many web problems). I would really like to try this site. Any answers would be appreciated. Thanks

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.
the_angry_angel
S3 licensed
Arctangent function.
the_angry_angel
S3 licensed
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:

enum
{
MSO_SYSTEM, // 0
MSO_USER, // 1
MSO_PREFIX, // 2
MSO_O, // 3
MSO_NUM // 4
};

If another entry is needed to be added, you'd do it after MSO_O, and before MSO_NUM, so that MSO_NUM becomes 5, which is the new length.

They'll be used internally within LFS, and are of no real use to a InSim client.
the_angry_angel
S3 licensed
Quote from Fordman :quick pick up racing, throw in a pit stop sometimes

This. Pit stops are severely under utilised

Also, hai Fordie ^_^
the_angry_angel
S3 licensed
Additionally if you're not aware of it /r/simracing is reasonably active, although not very LFS focused.
the_angry_angel
S3 licensed
3 options;

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.
the_angry_angel
S3 licensed
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.
the_angry_angel
S3 licensed
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 =/
Buttons (API design concepts solicitation)
the_angry_angel
S3 licensed
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.
the_angry_angel
S3 licensed
Quote from dawesdust_12 :It should be an improvement over what's currently out there.

DO WAHT PLZ.



bumfarts

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
the_angry_angel
S3 licensed
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
the_angry_angel
S3 licensed
So you're after something more akin to http://tracker.mastersofendurance.eu/ but with more dynamic features - like a livemap?
the_angry_angel
S3 licensed
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.
the_angry_angel
S3 licensed
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.
Last edited by the_angry_angel, .
the_angry_angel
S3 licensed
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
the_angry_angel
S3 licensed
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.
FGED GREDG RDFGDR GSFDG