Error with AssetService:CreatePlaceAsync(), HTTP (403)

Hi there

So I am making a game about logic and I want it to have separate places for schematics so I don’t have to deal with the Data Store limit. There is one problem, I keep getting this error “Game:CreatePlace received and error: HTTP 403 (Forbidden)” and I know what the error is but I have no idea why it is occoring.

I have searched for the answer to my question, and I did find one but it involved me moving the entire game to a group. I know this isnt the only answer to my problem as @Tomi1231 Created Blox Box using this method. and the game is on his profile.

For what I am currently doing

Repstorage.Remote_Functions.Request_Make_Place.OnServerInvoke = function(Player, Name)
	Name = TextService:FilterStringAsync(Name,Player.UserId)
	Name = Name:GetChatForUserAsync(Player.UserId)
	
	if string.find(Name,"#") then
		Name = "Filtered"
	end
	
	local CreatedPlace = AssetService:CreatePlaceAsync(Name,TemplatePlace,"Default Schematic") -- Problem
	
	local NewSchematic = {
		["Name"] = Name;
		["PlaceID"] = CreatedPlace;
		["Created_Date"] = os.date("%x");
		["Last_Updated"] = os.date("%x");
	}
	
	table.insert(PlayerData[Player.UserId].Schematics,NewSchematic)	
	
	return "Succes";
end

Any help appreciated
Thanks :slight_smile:

1 Like

Are you sure that you have enabled template copying in the place you are trying to copy?

You should be able to go to https://create.roblox.com/dashboard/creations, select the experience you are trying to copy > Places > Desired/Starter place > Permissions > Allow place to be copied as a template using Create Place API

How do I enable template cloning?

I edited my post to include instructions on how to

That did change the error But now it is HTTP Error 500 Internal Server Error

Feature has been broken since last year

Sadly this must be random to the experience. Because My friend who is friends with the person who made Blox Box had contacted him and relayed that this is how his works.

Well darn, Is there any other way this may be posible to do ?

What exactly are you trying to do?

I am trying to have a save system that doesn’t require data stores (Due to their limit). So my solution was create a place for the schematics (Building places) for the players. Or to put it real simple, Create new place for each players workspace

You should be able to use DataStores for this. The limit for one key is 4 megabytes which should be well enough for your usecase. Even if it isn’t you can spread your data across multiple keys and use compression

This is true But I am also doing it to hopefully avoid Very long loading times, As spamming the server with parts isn’t the greatest thing to do

Loading times shouldn’t be bad at all. DataStores are quite fast and I doubt you will even reach 4MB if you utilize compression

However at minimum, you would only be able to save every minute as there is a 4MB write limit/min per key

Its not the data store that I am woried about, it is the parts, Spawning in what chould be 40k parts within a second would slow down and or Crash the servers. And adding a delay to spawning the parts would make the experience have at least a small bit of loading delay of witch I am trying to avoid entirely.

There is just no other way around this. DataStores are the only other way as I doubtful CreatePlaceAsync will get fixed anytime soon

I guess that is true, The only problem I can see is that Roblox is only allowing Certain games like Blox Box to use the create Place API. witch I find ridiculous but its Roblox what else can I expect.

Make sure these are enabled on the template world

These aswell, if they aren’t enabled already

Is your template world a place within the experience?

That error code makes be thing it is an issue with the settings or something like that

Here is the main part of the place creation script in BloxBox


Take note that every world is named “World”, from what I understand, this is to avoid names from getting tagged (imagine if World gets tagged…) anyway, I don’t know how or if the name can be changed at a later time. The world name is instead stored with the other world data

God, the world is small lol, love lumber inc and your extention Haydz6 :wink:

Yes the Settings are enabled for the template place, And I do have both Allow HTTP and Accses to api services on. TheTemplate is in the games main place
image

The only thing i dont know is do you call the create place function repetedly untill it gives results or if it fails it fails. and also your colors are a little bit confuseing and I dont see any quoteations but I want to make sure your template world ID isnt a string correct?

The template isn’t a string, correct

I do have a system in place that will retry if it fails, but it pretty much never fails? It sends a shout to the player and retries after a second.
I really thought it would just tell the player to try again but nope

And I just realized that some code to prevent players from spamming the button will actually break that auto retry

One other thing, you must do your tests in a live game, outside of studio, otherwise it will not work

Basically, when it comes to CreatePlaceAsync and SavePlaceAsync, you cannot really test them before implementing the full thing

Yes I am testing it in game and it is still giving the error.