Possible to stop space station creation?

Nitro

Member
May 30, 2014
13
1
3
34
I am wondering if its possible to stop players from creating space stations. I have tried to look for a permission to do this but all i can find are the ssinvite perms. I also looked through the config files and could not find a way to do this.

any help is appreciated.

I am running
micdoodlecore-1.6.4-2.0.11.978
galacticraft-1.6.4-2.0.11.978
galacticraft-planets-1.6.4-2.0.11.978
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
First up: if you're running a server, you are strongly recommended to use the latest GC version 2.0.13, as there are several dupes, infinite power issues, and other cross-mod compatibility issues in older GC versions (for more info just look at our recent changelog: http://ci.micdoodle8.com/job/Galacticraft/changes). Even if your players are using a modpack which locks them to 2.0.11.978, you can get a bit of improvement by updating the build server-side only to a more recent 2.0.11 version for example 2.0.11.1008. See my other posts on recent threads.

There is currently built in to GC no way to disable space station creation by a player who has the correct resources to do it. The best I can suggest is to ban the Advanced Wafer, although that would then stop players crafting some advanced machines like the Advanced Solar Panel and the Nasa Workbench - you could provide a Nasa Workbench for public use at spawn, I guess.

We could maybe look at adding a new config into GC 1.7.2 to disable space station creation, but first I would like to understand why you even want to do it? I used to admin a PVP/Raid modpack server with 40,000 players (4,000 regular weekly players) and I don't remember any problem from players creating space stations, there were never too many because not too many players had the resources to make + fuel a rocket. Also if you find that space stations are OP in a multi-player server then in the GC config you can just disable player spawning on space stations, and the players will then have to take a rocket each time they want to go there.
 
  • Like
Reactions: Ezer'Arch

Nitro

Member
May 30, 2014
13
1
3
34
Thank you for the response, I did not realize i could update the server past the clients and not encounter issues (makes sense however as long as i stay within the 2.0.11 builds) . I will be testing this as soon as I am able.

To answer your question in the current version of GC i am running there is a rather large bug. Bit difficult to explain but ill do my best. You are also correct about the Modpack, this is an Attack of the B-team server Version# 1.0.10b

So lets say a player in Server A creates a space station, this space station creates a corresponding DIM file (in this case DIM-2) from this point on whenever ANY player leaves Server A and goes to Server B they log into a Moon environment (wile in the overworld). I have done quite a bit of testing on this and its both a Server and client issue, but I believe the Server side issue is caused by the Clients inability to understand that the Server change happened over a Proxy and there was no physical disconnect from the Hoste.

To be more specific what happens is when a player leaves Server A and goes to Server B, Server B generates a new DIM file corresponding to the DIM created in Server A by the spacestation (This seems very strange to me and occurs 100% of the time). Now a moon enviroment on the overworld is fairly neat and it can be fun to bounce over mountains. But when ANY player goes from Server B back to Server A their client crashes immediately. I will attach a pastebin of the client side crash. but it appears that with Server B generating an empty DIM for a space station that doesnt exist on that server that the client is unable to adjust to this when switching back to Server A (with the real DIM containing the space station files)

Its important to note that this issue occurs only on my Bungee Server and is fairly well documented online.

Thank you for taking the time to read and help me with this issue, and please let me know if I can give you more information that may make this issue more clear.

Edit: Its worth mentioning that deleting the Space station DIM in Server A and the DIM created in Server B as well as the DIM file in the data folder stops the crashes and returns the overworld to a normal environment. Also the Overworld in Server A (where the space station was created) is not affected by the moon environment, Only Server B where the station does not exist.
 
Last edited:
  • Like
Reactions: Ezer'Arch

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
OK, understand that - it's a Bungee issue where a client switches server.

We can almost certainly improve this behaviour, it will be connected with how Galacticraft clients behave on world loading.

Yes, your help will be very valuable on this one:
- You said this "is fairly well documented online" - please give some links.
- The clientside crash log will be very useful, paste it up
- I will need your help to test things when a build is ready, as I don't have a Bungee server for testing. Would you be able to set up a client-server environment for testing with the ability to run GC2.0.13 client-side and server-side? (Otherwise we will have to start looking at drop-in patches for 2.0.11 which will be a bit more effort.)
- Finally, assuming we find a solution, you may then have to use all your efforts to get the modpack makers to update the modpack to the very latest Galacticraft build. I will try to find a solution which can fix itself server-side only, but that may not be possible - it may require a fix client-side and server-side.

I'm sorry I wasn't aware of this issue 2 months ago when I joined the Galacticraft team, otherwise I guess it might have made its way into the BTeam modpack by now.
 

Nitro

Member
May 30, 2014
13
1
3
34
Sorry for the dely, here is the Pastebin of the client crash http://pastebin.com/n4Au6n4f

and i found this http://forum.micdoodle8.com/index.p...certain-things-and-crash-at-every-change.888/
http://forums.technicpack.net/track...-issue-failed-to-register-dimension-for-id-9/

I believe the second link is the same issue I am having, but the diagnosis does not seem quite correct. However the "fix" is the same ( deleting the DIM in both servers)

I will see what I can do about setting up a Client-Server environment on Bungee to run the latest GC builds. Will most likely take me a couple days as I stay pretty busy at work.
Its awesome to hear that you think we can fix this!
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
Don't worry about the Bungee server for now. We might be able to do this by drop-in patches (if you're happy to open up the GC2.0.11 jar files and drop patches in).
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
More details on this please.
To be more specific what happens is when a player leaves Server A and goes to Server B, Server B generates a new DIM file corresponding to the DIM created in Server A by the spacestation (This seems very strange to me and occurs 100% of the time).
- is this for any player leaving Server A and going to Server B, or only the player who originally created the space station on Server A?
- do you have a server-side log of a player joining Server B at the exact time when this happened?
- is the DIM_SPACESTATION2 folder on Server B empty? if not empty, what is in it?
 

Nitro

Member
May 30, 2014
13
1
3
34
You are correct the DIM is only created in Server B by the player who created the space station.

I could probably reproduce the bug and get a log of the player joining Server B. However I am not sure what I can do about logging the creation of the DIM file.

I will answer this last question in two parts. First, the DIM file in Server B is created when the player joins. In this case there is no DIM-2 before GC creates it, none of the mods that run generate a world by that DIM . Second the file that is created on Server B is not named DIM_SPACESTATION2. It is named DIM-2

As just more information, I created 2 space stations which created DIM-2 and DIM-3 when switching to Server B. I am willing to test any patches you have.
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
Please test this client-side patch https://www.dropbox.com/s/6y8jpxo87g1i4pl/galacticraft-1.6.4-2.0.11.978 - BungeeCord patch test1.jar

Note: On your client, put this in your /mods folder for B-Team, but make sure to move the existing galacticraft-1.6.4-2.0.11.978.jar out of the /mods folder before you launch B-Team otherwise you will get a duplicate mods error.

---

What this patch does:
(1) Prevent the client-side crash when switching servers if the dimensions are wrong (it will just log an error message instead)
(2) Detect when you switch from Server A to Server B through Bungee, and reset all Galacticraft dimensions client-side.

I'm hopeful that (2) will deal with the issues you described (the creation of DIM-2 on Server B, and the Moon-walking on the Overworld type issues) but without thorough testing I can't promise.

I have tested this patched client on a public B-Team 1.0.10b server today. But, I don't know if this will fix all the server-side issues - I didn't play long enough to create a space station and I don't have access to the server files to watch the dimension folders being created. I think it's best this is now tested by a server owner/admin who can watch to see what dimensions get created.

If you watch the console client-side you will see two "GC *** SERVER CHANGE DETECTED ***" messages each time you switch to a new Galacticraft server, don't worry about there being 2 messages there, that is just Galacticraft Core and Galacticraft Mars both detecting it.

---

I understand that it would be better if we can make a server-side patch but that probably isn't going to be possible for this one (I'll discuss with micdoodle8 before we rule it out completely).

So, assuming this test patch fixes the BungeeCord issue, it will need all the clients to have it. All that we can do is make a new 2.0.13 build of Galacticraft, and then server-owners and players will have to persuade the modpack makers to include that latest GC build in the modpack, so that everything will eventually be fixed after the next modpack version update.
 
Last edited:

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
Please test:
* can this patched client create a space-station at all
* after creating a space-station Server A, can the client Bungee-transition to Server B without messing up dimensions over there
* same test for other clients on Server A (probably, all the clients will need this patched client)
* on Server B is the moon-walking on overworld issue fixed?
* what happens if a client on Server A is actually *in* the space station dimension, and transitions to Server B?
* same question for a client in the Moon dimension on Server A?
 
Last edited:

Nitro

Member
May 30, 2014
13
1
3
34
Got this after launching in a rocket and entering the world selection screen. http://pastebin.com/auv28QE2
Tried two more times to get in the game and it crashed every time with the same crash report.
Due to this I was unable to test it any further.
 

Nitro

Member
May 30, 2014
13
1
3
34
Reverting back to the normal build brought me into the World loading screen when I got back ingame.
 

Nitro

Member
May 30, 2014
13
1
3
34
Overnight wile I was not online two space stations were created in Server A, When I tried to log ino the game in the morning I got this http://pastebin.com/1x3vcm3D

Removing the space station DIM and rebooting the server fixed the issue and I was than able to log in. I was logging directly into Server A and not transferring servers over the proxy. Several other players posted on my forums as well that they were not able to get into the game. They are also able to log in now after removing the DIM

Note: the space stations created Dim 1 and 2, even though the crash report says DIM 0
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
Please try this test2 version of the patch: https://www.dropbox.com/s/nbdjmhx1d3ewo52/galacticraft-1.6.4-2.0.11.978 - BungeeCord patch test2.jar Again this is a client-side patch. As before this is designed to let the client move between servers via Bungee after creating space stations with messing up the dims, I hope it will work this time.

I'm afraid the only way to test this reliably is to make sure all players who are transitioning servers have it - as soon as you have one player transitioning who doesn't have it, it will probably mess things up as before.

Your log in this morning - did you log in to the hub and enter Server A through a portal? That's the normal Bungee setup which I've seen when playing, I wasn't aware you could log in directly to a server. It may not be relevant, but on the other hand it may ... I'm quite surprised by dimension 0 being mentioned in that crash.

Meanwhile I am still looking to find what creates those DIM-1 and DIM-2 folders, it is quite the mystery.

Question: which GC build are you now running server-side? In spite of what I wrote earlier, it's probably best to stick to build 1001 or before, on the server, while we test this.

Also: please check your world/data folder for any files named spacestation_#.dat - delete any which don't match space stations you want to keep. I am wondering whether you have a spacestation_0.dat file there?
 
Last edited:

Nitro

Member
May 30, 2014
13
1
3
34
Well to clarify on the log in this morning. When I logged out of the Server last night it was from Server A. Currently with my setup players are able to join into the world they left by an auto transfer of the proxy. Now I believe you are correct in a sense that when I join I am still passing through the proxy and the default world for the Proxy is HUB (or we can call it Server C) In the past this has not caused any log in issues directly like what I described this morning.

I took a look at the Data folder and did discover a file named map_0.dat, I have removed this file but it must have been generated by GC as no other Mod uses this ID

Server is currently running 2.0.11.1008, however i can down grade and test with several different version if that helps.

Tested the new test patch and got this http://pastebin.com/7mNjxuqa
This time i made it into the world selection screen, However as soon as I mouse over the Create Space Station tab the client crashes. I dont actualy have to click on it to get the crash, just scrolling over the button causes the crash however I was able to log back in select the overworld and land without a crash.

Also tested with:
micdoodlecore-1.6.4-2.0.11.978
galacticraft-1.6.4-2.0.11.978
galacticraft-planets-1.6.4-2.0.11.978
I got the exact same result and the exact same crash report.
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
Oh noes! Sorry it is taking so long to get to a solution, unfortunately I can't really test these things before sending to you as I don't have a Bungee server setup to test on. If you're happy to persevere, we'll get there with any luck.

UPDATE: Please try this test3 version of the client-side patch
https://www.dropbox.com/s/uqvrxpaudns5cx4/Galacticraft-1.6.4-2.0.11.978 - BungeeCord patch test3.jar

The map_0.dat file is a vanilla file created by the Minecraft map item. It won't break anything to delete it.

For info: the fundamental thing which is going wrong here is that Galacticraft pre-registers its dimensions on a client as the first thing that happens when a client connects to a server, and unregisters them when the client disconnects. When you have a Bungee setup, the client logs in to a server without "connecting", and leaves the server without "disconnecting", because the same connection is maintained all the time by the Bungee proxy. Therefore what I am trying is workarounds where Galacticraft registers the dimensions and unregisters them when it needs to, but without the connect/disconnect events. Third time lucky, I hope ...

Here's what should happen with this:
- client can create a space station as normal
- client can leave and join Galacticraft servers thru Bungee without causing false dimension registrations on the server or crashes on the client
- in client-side console or logs, there should be a message every time the client joins a server which has Galacticraft installed, if that is shown then it should be clear that everything is working correctly.

I still cannot track down what code is in fact creating those DIM-1 and DIM-2 dimensions on the server, but I am hopeful it will stop happening once the dimension registrations are correct client-side. If I find an answer I will plug that gap too, so that servers can at least keep operating with stability even if some players do not have the patched client - but this part of the issue is proving very difficult to solve.
 
Last edited:

Nitro

Member
May 30, 2014
13
1
3
34
Launched in a rocket, hit the loading screen and was able to create the station. However right after clicking create station I got this http://pastebin.com/ZYA9SG3e

After getting back into the game I was still on the world screen and it did show that I had a station. Before doing anything else i checked Server A. No DIM had been created for the station.

I than proceded to click go to dimmension and was than taken to the station without any further issues (at this point Server A generated DIM_SPACESTATION2). After that I teleported to Server B and stil no issues. I teleported back and forth a few times between servers and even went to Server C and D, still without issue.

I am going to delete the station, retest and will let u know if I crash again on creating the station. Server B may still be creating DIM-2 but I am going to test a few more times and let you know what happens.
 

radfast

Administrator
Staff member
Apr 27, 2014
1,142
353
83
OK, this looks like a definite improvement! I'll give some attention to that crash report, obviously a client-side only issue as it seems the server created a space station correctly.

If you're op, you can save time when testing by using the "/dimensiontp nitrostam22" command instead of taking a rocket every time.

Note: for testing a second time, if the player has already created a space station you will need to manually edit the player's .dat file on the server to "undo" that and allow you to make a new space station (or if you're on a test server with nothing to lose, just delete the player's .dat file completely). To do the manual edit: open up the player data file with NBTExplorer (http://www.minecraftforum.net/topic/840677-) and set "spaceStationDimensionID" to -1.

I'm most interested to know if the DIM-2 issue looks to have been fixed by this.

It will also be interesting to know whether the client-side console (if you use 'Show Console' in the Technic Launcher) or client-side logs have this message each time you change servers: "GC: ********* SERVER CHANGE DETECTED ***************".

UPDATE: Please also check your ForgeModLoader-Client log for this error message at around the time the crash happened "[SEVERE] Dimension already registered on client: unable to register space station dimension 2". I think that may be connected with the crash.
 
Last edited:

Nitro

Member
May 30, 2014
13
1
3
34
Ok tested this rather thoroughly, Reset my client and my player files on the server than installed the bungee test 3 client.

No crashes at all (made 3 stations) No moon walking on other Servers, No more DIM files are being created by my client (but only after resetting my player.dat file on all servers)

and NO crashes when teleporting between worlds! seems to run perfect from what i can tell.

I also have the consol on and yes I am getting "GC: ********* SERVER CHANGE DETECTED ***************". every time I change servers
 

Nitro

Member
May 30, 2014
13
1
3
34
I can give this patch to my admins and let it run for a couple days and see what happens if you would like this tested further.

Making great progress! thank you for the hard work and the quick test patches : )

I tested this against the Server side GC build you recommended as well and have no issues.
 
Last edited: