Code Monkey home page Code Monkey logo

Comments (21)

xLeviNx avatar xLeviNx commented on June 21, 2024

Yeah, its expected of the user to assign the IP which I prefer as a fellow scrds user

from amp.

Greelan avatar Greelan commented on June 21, 2024

I agree with the OP, I've never understood the reason why the srcds module forces the binding

from amp.

PhonicUK avatar PhonicUK commented on June 21, 2024

Not an issue. This is a deliberate design choice. The UDP logger does not work properly in SRCDS when it's bound to 0.0.0.0. This prevents AMP from monitoring the server or showing you any log output. The requirement to be bound to a specific IP is to avoid this issue and to allow AMP to work properly. The limitation isn't a UI issue or an arbritary restriction.

from amp.

Bryantdl7 avatar Bryantdl7 commented on June 21, 2024

from amp.

Greelan avatar Greelan commented on June 21, 2024

Not an issue. This is a deliberate design choice. The UDP logger does not work properly in SRCDS when it's bound to 0.0.0.0. This prevents AMP from monitoring the server or showing you any log output. The requirement to be bound to a specific IP is to avoid this issue and to allow AMP to work properly. The limitation isn't a UI issue or an arbritary restriction.

Presumably you're referring to logaddress_add needing to point to a specific IP to log to? That sounds more like a binding issue for the AMP endpoint receiving the logs, rather than the srcds server itself needing to bound to an IP?

More importantly, what does AMP use to receive and parse the logs, and can that be used with the generic module (thinking of CS2)?

from amp.

PhonicUK avatar PhonicUK commented on June 21, 2024

Ok, can amp be reconfigured to not default to 0.0.0.0 then? Its not fun that SRCDS instances do not work with default settings and require manual intervention of some form. Oct 14, 2023 2:58:17 PM PhonicUK @.***>:

Yes, you can set the default application IP binding in ADSs network settings.

from amp.

PhonicUK avatar PhonicUK commented on June 21, 2024

Presumably you're referring to logaddress_add needing to point to a specific IP to log to? That sounds more like a binding issue for the AMP endpoint receiving the logs, rather than the srcds server itself needing to bound to an IP?

More importantly, what does AMP use to receive and parse the logs, and can that be used with the generic module (thinking of CS2)?

There's a bug in srcds whereby logaddress_add doesn't work even with a specific IP if the game server itself is bound to 0.0.0.0. It's why it's an absolute pain because the game server IP binding alters its behaviour even though it's completely unrelated.

from amp.

Bryantdl7 avatar Bryantdl7 commented on June 21, 2024

from amp.

Greelan avatar Greelan commented on June 21, 2024

Presumably you're referring to logaddress_add needing to point to a specific IP to log to? That sounds more like a binding issue for the AMP endpoint receiving the logs, rather than the srcds server itself needing to bound to an IP?
More importantly, what does AMP use to receive and parse the logs, and can that be used with the generic module (thinking of CS2)?

There's a bug in srcds whereby logaddress_add doesn't work even with a specific IP if the game server itself is bound to 0.0.0.0. It's why it's an absolute pain because the game server IP binding alters its behaviour even though it's completely unrelated.

Any insights on my second question?

from amp.

PhonicUK avatar PhonicUK commented on June 21, 2024

What AMP uses is a UDP logger source. So AMP receives those UDP packets.

from amp.

Greelan avatar Greelan commented on June 21, 2024

...

I understand that. The question is how AMP receives the packets, and whether that can replicated in generic.

from amp.

Bryantdl7 avatar Bryantdl7 commented on June 21, 2024

Why doesnt amp just view the console the same way STEAMCMD is read into the AMP console? Then you don't need any networking at all. There's got to be a way to do it this way. Would make debugging issues way more verbose. In the current implementation developer 1 outputs aren't even made into the amp console.

I can understand potential limitations to this approach, but at least give us a toggle for viewing the console this way.

from amp.

PhonicUK avatar PhonicUK commented on June 21, 2024

Why doesnt amp just view the console the same way STEAMCMD is read into the AMP console?

Because it doesn't work. Source games do not write data to standard output, they write it directly to the console display buffer which isn't readable. For SteamCMD AMP uses an ugly, unstable and unreliable hack that only works if you don't care about missing the odd line - which for getting download progress is fine but not for anything important.

from amp.

IceOfWraith avatar IceOfWraith commented on June 21, 2024

It defaults to 0.0.0.0, which errors. Can it be defaulted to something else out of the box? Very well aware I can change it myself, but having a default value be something that isn't allowed doesn't make sense... Oct 20, 2023 9:18:52 AM PhonicUK @.>:

Ok, can amp be reconfigured to not default to 0.0.0.0 then? Its not fun that SRCDS instances do not work with default settings and require manual intervention of some form. Oct 14, 2023 2:58:17 PM PhonicUK /
@
/.
**>: Yes, you can set the default application IP binding in ADSs network settings. — Reply to this email directly, view it on GitHub[#935 (comment)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/ABKOR5KQIN3MLSGNVR5NSELYAJ23RAVCNFSM6AAAAAA5UGN5AKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZSG4ZDOMZYG4]. You are receiving this because you authored the thread. [Tracking image][https://github.com/notifications/beacon/ABKOR5NC6L43ONY3NJVYEADYAJ23RA5CNFSM6AAAAAA5UGN5AKWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTJVGWFW.gif]

Looks like this question got overlooked. 0.0.0.0 is preferred for almost every game server out there. It's only an issue with SRCDS servers within AMP because of the need for the UDP Logging. AMP on Windows can read the console properly, but on Linux it cannot, so it relies on the logger as Mike stated. If instances are bound to specific IP addresses it can get messy. Servers with multiple network adapters or moving servers requires a lot of intervention as opposed to having it set to 0.0.0.0.

from amp.

IceOfWraith avatar IceOfWraith commented on June 21, 2024

Here's a couple sources that back what is done by AMP. Unfortunately, it is a long-standing SRCDS bug. The only work around is that AMP be able to read the console in Linux, but that too seems to be a limitation of the game server.

https://github.com/stevenocchipinti/CS_Scoreboard#logging-statistics-on-localhost

https://github.com/startersclan/source-udp-forwarder#demo

from amp.

Greelan avatar Greelan commented on June 21, 2024

Those links have alternative solutions?

from amp.

IceOfWraith avatar IceOfWraith commented on June 21, 2024

Sorry, I'm not following. What solution are you wanting AMP to handle from those?

from amp.

Greelan avatar Greelan commented on June 21, 2024

In one of them it suggests having the UDP logger endpoint as 0.0.0.0, and in the other it suggests using the hostname

from amp.

Greelan avatar Greelan commented on June 21, 2024

Specifically for the first:

Start the gameserver with cvar logaddress_add_http "http://127.0.0.1:26999" for Counter-Strike 2, logaddress_add 0.0.0.0:26999 for srcds (srcds refuses to log to logaddress_add 127.0.0.1:<PORT> for some reason), or logaddress_add 127.0.0.1 26999 for hlds servers, and cvar log on, to ensure the gameserver send logs to source-udp-forwarder.

No mention of any binding limitations for the srcds server itself.

from amp.

IceOfWraith avatar IceOfWraith commented on June 21, 2024

The hostname fix requires editing the hosts file so not really a useful solution for AMP.

I just tested 0.0.0.0 for the logaddress_add on Garry's Mod and 127.0.0.1 as the address for the UDP Logger to connect to and it didn't see any packets. I'm not sure that one is a fix. I'm open to be proven wrong though.

from amp.

PhonicUK avatar PhonicUK commented on June 21, 2024

Maybe ::1 would work if the problems are specifically with localhost and 127.0.0.1 ? Or perhaps using something like 127.10.0.1 on both ends instead?

from amp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.