ID:2826964
 
Not a bug
BYOND Version:514
Operating System:Windows 7 Pro 64-bit
Web Browser:Chrome 90.0.4430.85
Applies to:Dream Seeker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
Descriptive Problem Summary:
The link() function isn't seamless. We still get hit with the splashscreen and ad wait time even when you're using the same skin for both worlds.

Numbered Steps to Reproduce Problem:
1 - open up your first world - I'm using a local world for testing
2 - link() to the IP of your other world, that uses the same skin
3 - get hit with the ad wait time

Code Snippet (if applicable) to Reproduce Problem:
mob/Login()
src<<link(byond://ip:port)


Expected Results:
Seamless transition between worlds

Actual Results:
Get hit with ad wait time

Does the problem occur:
Every time? Or how often? Everytime, considering the delay for the ad screen to show up once it was shown before.
In other games? Yes
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur? Between the delays of the ad screen.

Workarounds:
None that I know of
I checked the code and confirmed the logic that there should be no ad or wait when linking with the same skin. The splash may appear if resources haven't been received, but there should be no ad or delay with it.

I also confirmed with a local test case that when running the same world in DS and also DD, I was able to switch via link() from DS to the DD session, even though I used the external IP address (the full ip:port URL).

So something isn't quite right if you're seeing a message normally associated with ads. I'd need a full test case to confirm.
In response to Lummox JR
Sent a test case via Pager.

Host the dmb in the "Hosted World" folder in a DreamDaemon in a instance outside of your network. I'm using Security "Safe" and Visibility "Invisible", don't know if it matters.

Edit the ip in the link() proc, inside the "Local World" folder's only .dm file to your Hosted World's ip address. Compile. Run the dmb.

Notice that it isn't seamless at all: Here is a video of a friend trying to connect to my "Hosted World" using the "Local World" (ignore the audio):

https://www.youtube.com/watch?v=f037e2NHgkM
(Obs: You can see on the video that after the first time he gets hit with the ad wait screen, when he joins another time quickly, it doesn't appear again because it's on delay)

Note: Using 127.0.0.1 as the IP and connecting to your own network doesn't show the AD Wait Screen. Connecting to outside of your network does.

If you want, I can host it and you try connecting to it with the "Local World" dmb. Just hit me up on pager when you're available and I'll send you the IP to use.
The skin files are not a match between the two projects. That's the problem.

I loaded both up in WinMerge and the differences are apparent. The files do however have to be byte-for-byte identical.
In response to Lummox JR
I literally copied the skin file from the "Hosted World" folder and pasted it on the "Local World"'s and then clean compiled there. The maximum I did was open the file to check if it was identical. I for sure didn't change anything.

Maybe that or compiling it is altering it?

Anyhow, now that I made sure they were identical before running the dmb, it is indeed seamless. The test case I use doesn't have any issues with the mouse input. My game has it tho, so I'll look into that for a possible bug report.

This thread can be closed. Thanks for the help.
Lummox JR resolved issue (Not a bug)