CreatPlaceAsync() and CreatePlaceInPlayerInventoryAsync() copy a place from a template and place it in either your inventory or your players’ inventories respectively. From there, players can edit and put the game you put in their inventories online and do whatever. To do this, all you need is fill out all of the parameters like this:
game:GetService("AssetService"):CreatePlaceAsync("Test Place Name", 1111, "Test description.")
This creates a place from the template of the place ID 1111 with the name of “Test Place Name” and the description of “Test description.”
If you don’t want players to receive a copy of your place and instead mean to open up a private place in which everything is loaded in, consider using TeleportToPrivateServer() and then loading everything in with a DataStore. Then you can save the private server code to a datastore and have a menu for the people able to join the private server using the code.