Skip to content
This repository has been archived by the owner on Nov 12, 2019. It is now read-only.

Outgauge + MCI Packets = :( #31

Closed
gu3st opened this issue Jan 8, 2013 · 7 comments
Closed

Outgauge + MCI Packets = :( #31

gu3st opened this issue Jan 8, 2013 · 7 comments
Assignees
Labels

Comments

@gu3st
Copy link

gu3st commented Jan 8, 2013

Karl:

I've IRC'd you.. but I thought it's easier if I do something more proper.

If you (or me) create an app that requires MCI packets and Outgauge packets.. we will only ever receive Outgauge packets.

This is becuase if a UDP port is not set, LFS will send MCI to the TCP connection, however if a UDP port is set (for Outgauge).. the MCI packets are sent there where Outgauge is totally unprepared to handle them (as one would expect).

I was having these issues the other day with MCI packets (as you know).. and I've uncovered as to why this is happening.

Unfortunately, upon first glance.. this doesn't seem like a really easy fix (as it's kinda core to how LFS does everything).

@gu3st
Copy link
Author

gu3st commented Jan 8, 2013

I worked around it by doing awful hacks.. In outgauge you have a test for packets that are larger than normal OG packets.. I'm subverting that check, and if it is longer.. emitting a event stating "unhandled".. then in my plugin I'm passing that data on to insim.

Worst methodology ever. It's gross and ugly but works... somehow :)

@theangryangel
Copy link
Owner

12:19 <the_angry_angel> hmm 12:19 <the_angry_angel> architecturally xi4n cant cope with that atm, as you've spotted. 12:20 <the_angry_angel> i had completely forgotten that LFS would do that. 12:21 <the_angry_angel> i can think of a fix, and maintain plugin api compatbility 12:21 <the_angry_angel> sort of 12:21 <the_angry_angel> it would make multi-protocol plugins easier too 12:21 <the_angry_angel> but clientmanager, and client would need be to completely ripped apart

Unsure when I'll be able to do this.

@gu3st
Copy link
Author

gu3st commented Jan 8, 2013

I also noticed LFS behaves weird with MCI packets. Locally and as server, you're allowed to have all MCI packets...

However, when you join an online game.. If only you are on track, you get the stream of MCI packets.. However the instant someone else joins.. No more MCI until you're the only person on track again.

Was a big bummer to find that out. It means I'm relegated to having useless yellow flag detection. :(

@theangryangel
Copy link
Owner

Just commited d0f7fb4. It's completely 100% untested (I was offline and on a laptop without LFS), so I'm expecting typos and other broken stuff. Will test over the forthcoming week. Be warned this also breaks the plugin API a little. However if you have any ideas Dustin, nows the time ;)

@gu3st
Copy link
Author

gu3st commented Mar 18, 2013

Hi Karl: I'm gonna take a look at it later tonight. I haven't played with Node in the last while (All my free-time programming has been work programming.. yay :) ).

That also means I'll haffto compile node v0.10 too. C'est la vie! :)

@theangryangel
Copy link
Owner

It's probably very broken, as I say it's 100% untested still, but I'm hoping to get some time to test it later this evening :)

Might be worth hanging on for whatever comes after 0.10. I suspect there will be another release soon.

@ghost ghost assigned theangryangel Mar 25, 2013
@theangryangel
Copy link
Owner

Verified as resolved in d1c25c9.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants