Live data from Hacker News

Second Life on GitHub

community.secondlife.com

31–40 of 126 posts

Re: Second Life on GitHub

#31
post #2

TFA suggests that the official git repo for the Linux kernel is on GitHub. I wonder if they really did their research

The source is published to GitHub though, no? https://github.com/torvalds/linux It's an easy mistake to make, the code is there and there's nothing to suggest it's a mirror.

That said, every PR receives a bot comment indicating that the GH repo is a mirror and the user needs to submit a patch to LKML. And yet there are currently 312 open PRs on the repo. I've always wondered how people manage to know enough about the kernel to be able to contribute a PR to it, yet don't know the GH repo is a mirror and seemingly ignore the bot response and leave their PR opened.

Re: Second Life on GitHub

#32

Earlier quoted context omitted.

Some good old Torvalds roasting going on in that thread.

Yikes. I didn't know the dude was so prickly. Glad I'm not a contributor.

He's mellowed a bit as the years have gone on but yeah, he sure is a character.

Re: Second Life on GitHub

#33
post #30

Earlier quoted context omitted.

The server components which are most of the logic are not open source. There has been a long running effort to have a compatible open source server.

That's incredibly surprising that it doesn't have one. I was involved in the l2j and wow emulation communities back in the day, and there was just so much effort going into it.

It does have one:

http://opensimulator.org/wiki/Main_Page

Re: Second Life on GitHub

#34
post #2

TFA suggests that the official git repo for the Linux kernel is on GitHub. I wonder if they really did their research

What is the reason for hosting it elsewhere? My cursory Google searches have failed me.

Linux kernel development has been coordinated via mailing lists for ages.

Linus wrote the git version control system specifically to suit the development of Linux.

GitHub made git mainstream, and they made lots of great features for the masses.

But there is no reason for the Linux project to change the way that they like to work just because of that.

Still, a copy of the Linux source tree is also hosted on GitHub. So it seems to me that everyone gets what they want. Linux get to continue their development in the way that they like to do it. People on GitHub can easily find the copy of Linux on GH, and browse the sources there. And they can create forks of the Linux sources on GH too.

Re: Second Life on GitHub

#35
post #9

It's been open source since 2007. Linden Lab recently moved the sources from Bitbucket to Github. The Firestorm viewer sources are at " https://vcs.firestormviewer.org/ ". It's a major fork. Technical documentation of the client-server protocol is at " https://wiki.secondlife.com/ " It's out of date, but it helps. The real progress is that the build procedure has been cleaned up. It used to require ancient versions o…

What is a "firestorm viewer"? Is a "viewer" a Second Life term for "game client"? And is Firestorm a particular FOSS client for the game? If so, that's really interesting... like you can access the same shared Second Life world but through a custom client? Does it reuse existing game assets or you free to reinterpret character models, textures, effects, etc.?

https://www.firestormviewer.org/

Assets are downloaded from the servers. Users can upload and optionally gift / sell their own.

Re: Second Life on GitHub

#36
post #9

It's been open source since 2007. Linden Lab recently moved the sources from Bitbucket to Github. The Firestorm viewer sources are at " https://vcs.firestormviewer.org/ ". It's a major fork. Technical documentation of the client-server protocol is at " https://wiki.secondlife.com/ " It's out of date, but it helps. The real progress is that the build procedure has been cleaned up. It used to require ancient versions o…

> OSGrid, which is a third party grid of simulators. That really is the metaverse - a federated system of 3D worlds.

I had no idea this existed, and have been looking for it [conceptually] for years. Thanks!

Re: Second Life on GitHub

#37
Second Life has always really interested me, seems like it's got a quite the meaningful heritage behind it. If they are looking to move into the full VR/AR/Metaverse space, I can see that wisdom/prior art coming in very handy.

Re: Second Life on GitHub

#38

That’s the project where Facebook‘s Metaverse forked from, right?

Perhaps when Linden Labs open-sourced the second life stuff, ChatGPT cached it and Meta asked it to write them a metaverse.

EDIT: Well it does something...

```Sure! Here is a basic client for Second Life written in Python:

import requests

# Set the base URL for the Second Life API base_url = "https://api.secondlife.com"

# Set the endpoint for the login API login_endpoint = "/login"```...

Re: Second Life on GitHub

#39
post #9

It's been open source since 2007. Linden Lab recently moved the sources from Bitbucket to Github. The Firestorm viewer sources are at " https://vcs.firestormviewer.org/ ". It's a major fork. Technical documentation of the client-server protocol is at " https://wiki.secondlife.com/ " It's out of date, but it helps. The real progress is that the build procedure has been cleaned up. It used to require ancient versions o…

Clickable links:

https://vcs.firestormviewer.org/

https://wiki.secondlife.com/

Re: Second Life on GitHub

#40
post #9

It's been open source since 2007. Linden Lab recently moved the sources from Bitbucket to Github. The Firestorm viewer sources are at " https://vcs.firestormviewer.org/ ". It's a major fork. Technical documentation of the client-server protocol is at " https://wiki.secondlife.com/ " It's out of date, but it helps. The real progress is that the build procedure has been cleaned up. It used to require ancient versions o…

What is a "firestorm viewer"? Is a "viewer" a Second Life term for "game client"? And is Firestorm a particular FOSS client for the game? If so, that's really interesting... like you can access the same shared Second Life world but through a custom client? Does it reuse existing game assets or you free to reinterpret character models, textures, effects, etc.?

A viewer is like a web browser for a 3D world. It's like a game client, but it doesn't have any game logic or content. As with a web browser, all content is downloaded from the servers. Firestorm is a third-party viewer with a sizable development organization. See "firestormviewer.org".

Quick overview:

Second Life / Open Simulator worlds are divided into "regions". Each region is 256m on a side on Second Life, and can be other sizes in Open Simulator. The world is about the size of Los Angeles. The viewer starts out by talking to a login server for a grid, which authorizes it to connect to a region. The viewer then talks to the region. There are short messages over UDP, and some bigger stuff over HTTPS.

Once a viewer is talking to a region, it asks the region server about adjacent regions. The viewer can then talk to a few adjacent regions, too, showing the user a big, seamless world. As the user moves around the world, connections are made to new regions, and connections to regions out of range are dropped. This is how the world scales. There are about 27,500 live regions today, each with its own simulator program, always on even if nobody is using it. Each simulator program takes about one CPU and under 4GB on a server. Second Life is currently hosted on AWS, with dedicated servers. This scales well; the world could be scaled up substantially if there was demand.

The always on feature runs up costs, but the business model is that users rent land. So costs and revenue stay in balance. Regions really are always on - trains run through regions where no one is around, for example. This architecture made more sense when Second Life had their own servers in a co-location facility.

The region servers talk to their direct neighbors. This allows movement across region boundaries. If a region goes down or is restarted, the viewer will show a water-filled hole with steep sides where the region is supposed to be. So the overall system is fault-tolerant.

Content is stored on asset servers, separate from the region servers. These are ordinary AWS web servers, front-ended by Akamai caches. Content includes textures (images in JPEG 2000 format, which is a pain to decompress fast), meshes (a documented but nonstandard format), sounds, etc. There's petabytes of content. The region servers tell the viewers what hashes (UUIDs) to ask for, the viewers get the content from the servers with ordinary HTTPS requests, and all this is assembled in the viewer into 3D images for the user.

Any user can upload new content. Uploading an image costs about US$0.05. Uploading a 3D model might cost $0.50. This is a one-time charge. As long as someone, somewhere, is using that content, it's kept on the servers. There's a garbage collection run every month or so.

Voice is outsourced to Vivox. (Vivox has problems. Not recommended for new designs.)

Coming soon is "puppetry". Second Life is now testing full body and face tracking, for those who want their avatars to run more than canned animations. This involves an entirely new data path by which viewers talk to other nearby viewers via a server that just forwards data. Second Life is getting VRchat features.

So that's what a viewer is. And that's what the architecture of a big metaverse looks like.

Post reply on HN