game.IsConsoleServer

The only way to determine if a server is exclusive to Xbox players is to retrieve the value of :IsTenFootInterface() from the client.

7 Likes

What is the use case? XBOX exclusive rewards?

I want to disable some features for xbox players temporarily and determine which tutorial text to present to the player. There are plenty of use cases.

4 Likes

It’s planned in the future for ROBLOX to be cross-platform, so this would get deprecated really quickly. For now, you’ll have to figure this all out clientside.

3 Likes

Did a staff member post this somewhere?

Nah, I just know it’s something they’ve always wanted, so they most likely want to avoid this sort of thing. IIRC there also isn’t much of a difference between PC/Xbox servers besides who can access them right now.

1 Like

Can’t you implement this in lua by this checking ten foot interface on client and sending that over to the server?

Yeah, read the OP. I just don’t want to wait for the client to load first before getting the value. Feels hacky

2 Likes

I always thought IsTenFootInterface() returned true if you were playing on a big television (or a very very large monitor)

I don’t know if the PlatformService exists on the server, but it only exists on consoles so it might be worth a shot.

local isXbox = pcall(function () return game:GetService("PlatformService") end)

I’ll give it shot!

No luck. Returns false on every platform.

1 Like

Potential security loophole. Someone executes arbitrary clientside Lua code (not uncommon) to tell the server it’s not what it actually is. Unlikely, but if left alone it will eventually get exploited, especially if this kind of detection becomes common.

P.S. If anyone thinks this kind of security loophole is a joke, note that ROBLOX has now had at least two instances of animations (which are seemingly harmless) being exploited and game-specific exploits (e.g. Apoc) that target the game’s networking. Also, where I work in Application Security, half of our problems come from obscure loopholes like this that you’d never expect would be abused. People will use whatever they can to break stuff.

1 Like

We implemented it that way for the egg hunt; people ended up exploiting it.

for the sake of showing real numbers, our honeypot logged about 4,300 unique users who fired remotes maliciously from april 4 to april 24

6 Likes

I think it’s unlikely that we’ll add this API given that our goal is for all players to be able to play together regardless of platform. If you have more specific use cases that would be helpful.

Can you provide more details about why you need a specific tutorial for Xbox than other platforms? If your instructions vary by input type (mouse vs gamepad) you may want to check out UserInputService:GetLastInputType() and UserInputService.InputTypeChanged. That way you will be able to support plugging a gamepad into your PC. See http://wiki.roblox.com/index.php?title=Gamepad_input.

Uhh but microsoft servers != amazon servers

The desire is for even XBox players to play together with other platforms? Out of curiosity then, why are they on a separate platform to begin with? Technical issues?

For server restrictions, XBox servers are like a completely different game since they don’t share a playerbase with other platforms, so anything I might do in another game (e.g. tweak game to accommodate lower player count across playable servers, tailor servers to suit different average play times (do I need to add resource respawns if XBox servers are open 10x as long?), etc). If XBox servers are merged with other platforms though (hopefully soon), this becomes an obsolete issue.

This isn’t concerning server restrictions, but I enumerated a number of use cases for querying user platform clientside because input type was insufficient, which garnered quite a bit of support.

A tutorial system may have not been the best example of a use case. In my implementation, the tutorial text is stored on the server. TouchedEnabled is retrieved from the client for the tutorial, I can do the same for :IsTenFootInterface(). Doesn’t matter if it can be exploited. However I would like release Pizza place to Xbox with pets disabled temporarily and would need a secure way to determine if the current server is an Xbox exclusive server.

One of the initial Xbox requirements was that Xbox players were only able to player with other Xbox players.

Why don’t you want Xbox players to have pets?

1 Like

Why are you submitting this from the server?
Just store different instructions on the client and check the platform?