Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Scout31

Pages: [1] 2 3 4 5 6 ... 159
Development / Re: 2020/05/20 - Blockland r2023-r2031
« on: May 23, 2020, 08:12:30 PM »
Would it be possible to make a way for us to generate our own tokens from script for use against the new authQuery.php? I've found a hacky way to do this, getting a hold of the steamTicket and querying getJoinToken.php with the join IP being the Glass server, essentially simulating the game server join mechanic to connect to the Glass chat system. That's obviously not intended usage and super hacky. Previously, we were able to verify sessions by checking that the IP address was authed to that user, but the new system doesn't let us do that without forcing people through the steam openID page, which is super inconvenient to do every game launch.

Development / Re: 2020/05/20 - Blockland r2023-r2031
« on: May 22, 2020, 10:34:55 AM »
MacInCloud is nice for situations like this. Definitely takes care of most of the items on that list. I don’t believe Apple plans to actually remove OpenGL support until they start pushing ARM Macs, which won’t be their entire lineup. There’s no changes in actually developing with OpenGL on Catalina other than just compiler warnings.

But all that taken care of, 32-bit to 64-bit conversion alone is still a huge pain.

Help / Re: How do I stop blockland glass from updating add ons?
« on: April 18, 2019, 05:15:56 PM »
Glass doesn't maintain an updater, just installs Support_Updater. Rename the file.

Modification Help / Re: Blockland Glass Developer's Guide
« on: October 11, 2018, 12:01:17 PM »
I had to delete the chat beep sound from my zip because even though chat notifications are off it still beeps and it's driving me insane.


Is it possible for me to run glass and rtb at the same time?

Is glass now compatible for rtb?

Always has been. We discontinued support for oRBs a year or so ago, but not RTB.

Add-Ons / Re: Blockland Glass 4.2
« on: October 02, 2018, 01:21:43 PM »
The server was having issues creating new session, leading to authentication issues. The issue has been since resolved.

Modification Help / Re: Blockland Glass Developer's Guide
« on: September 27, 2018, 04:55:46 PM »
Also, does colorset work now? I recall it not working a few months back.

It doesn't appear to be, but I can try to work on it this weekend.

Add-Ons / Re: Blockland Glass 4.2
« on: September 23, 2018, 08:51:26 AM »
PM me an email address. You made an account during Glass 1 and never migrated it.

Add-Ons / Re: Blockland Glass 4.2
« on: September 18, 2018, 01:22:25 PM »
Server Maintenance

All Glass services will be offline starting at 6-7pm EST for server maintenance. This includes the website, mod manager, updater repository, live, server previews, and the discord bot. Maintenance should last no more than an hour.

Modification Help / Re: Blockland Glass Developer's Guide
« on: August 26, 2018, 04:47:21 PM »
Require client is probably one of the worst supports ever to be made and I'm glad it was normalized so late because if it we're sooner like 5 years ago it would've reduced the quality of most servers. Client sided add-ons are very bad for a number of reasons but the one I can think of off the top of my head is poor input hooking and glitchy authentication loops as well as interference with other client sided mods. No server actually requires a client unless they really have to hook things like movement control keys for special functionality. Inventories and menus which make up 90% of the stuff people arbitrarily require you to download to play their server can easily be made using bottom and center print

Also this goes without saying but forcing people to download files just to play your server is a huge security risk especially when it has internet functionality

I strongly disagree, I think the lack of servers' ability to customize themselves and provide gamemodes that actually feel fleshed out was the lack of any client interaction. Client mods made correctly don't have any compatibility issues or authentication loops. Most buggy things surrounding client mods were because of the lack of support of them in general, a self-feeding problem. Doing everything purely through text commands and bottom prints is incredibly clunky and limiting, I'm not sure why that's ever the better solution other than laziness and the difficulty of getting users to install a client mod, the second of which we tried to remedy by making this system.

The biggest "security risk" is having your key stolen, anything in torque is pretty isolated. All required client add-ons have to be on the mod manager meaning they've been reviewed and approved.

Is there a list of icons that can be used for the preferences?

Everything in the Add-Ons/System_BlocklandGlass/image/icon folder.

I think you forgot the float datatype. I used that in Brick Tessellation.

A bounded num type with decimal points offers the same functionality.

Modification Help / Blockland Glass Developer's Guide
« on: August 25, 2018, 11:07:50 AM »
Blockland Glass Developer's Guide
This documentation is way overdue, but late is better than never.

Glass automatically brings in any old RTB preferences, already supporting nearly all RTB add-ons.

You can create a new preference category for your add-on with the registerPreferenceAddon function:

     registerPreferenceAddon(%addon, %name, %icon);
     registerPreferenceAddon("System_BlocklandGlass", "Glass Prefs", "gear");

The preference itself is registered objectively, similar to Datablocks. An example is below:

Code: [Select]
//Object-based preference initialization

registerPreferenceAddon("System_BlocklandGlass", "Glass Server Prefs", "gear");

new ScriptObject(Preference) {
  className      = "MyCoolPref"; //namespace

  addon          = "System_BlocklandGlass"; //add-on filename
  category       = "General";
  title          = "Can use";

  type           = "dropdown";
  params         = "Host 3 Super_Admin 2 Admin 1"; //list based parameters

  variable       = "$Pref::BLPrefs::AllowedRank"; //global variable (optional)

  defaultValue   = "Super_Admin 2"; //two words due to dropdown

  updateCallback = "myRealUpdateCallback"; //to call after ::onUpdate (optional)
  loadCallback   = "myRealUpdateCallback"; //to call after ::onLoad (optional)

  hostOnly       = true; //default false (optional)
  secret         = false; //whether to tell clients the value was updated (optional)

  loadNow        = false; // load value on creation instead of with pool (optional)
  noSave         = false; // do not save (optional)
  requireRestart = false; // denotes a restart is required (optional)

function MyCoolPref::onUpdate(%this, %val) {
  //myRealUpdateCallback should have already been called by now,
  // handled by the Preference generic

  if($Test::Pref $= %val) {
    echo("Passed update callback test");
  } else {
    echo("Failed update callback test");

function MyCoolPref::onLoad(%this, %val) {
  echo("Loaded \"" @ %this.title @ "\"");

function myRealUpdateCallback(%this, %val) {
  $Test::Pref = %val;

The following preference types and parameters have been defined by Support_Preferences:
  • bool
  • num <min> <max> <precision>
  • playercount <min> <max>
  • string <len> <strip ml>
  • slider <min> <max> <snapTo> <stepValue>
  • dropdown <name1> <value1> <name2> <value2> ...
  • wordlist <delimiter> <maxWords>
  • color
  • datablock <type> <canBeNone>
  • datablocklist <max words>
  • button
  • colorset
  • rgb <has alpha>

However, only types used by RTB have been implemented along with RGB. The rest can be implemented at request (probably all of them in a single update).

Required Clients
Glass allows servers to set required or optional client sided add-ons to use while playing. Once it's setup Glass will automatically handle the downloads and prompting of downloads for the client. This is the function to register a required client:

     registerRequiredClient(%name, %glassId, %optional);

%name - This appears to the client when connecting, you can name your add-on whatever you like. It does not have to be the same as it is on Glass.
%glassId - The Glass ID of your add-on, this can be found in the url of the add-on. (Example: add-on.php/id=398 your ID would be 398).
%optional - Set this to 1 if you want the client to be an optional download.


     registerRequiredClient("Jailbreak Client", 135, 0);

Loading Screens
Glass allows gamemode creators to set custom loading backgrounds for users loading their gamemode. Setup is quite simple:

     registerLoadingScreen(%url, %fileType[, %crc]);

Calling this method inside your gamemode makes clients (who have loading backgrounds enabled) download the specified image URL. Any jpeg, png, or jpg image is supported. Note that Glass has to be running on the server.

%crc is an optional field allowing the client to cache your server's preview image. If a client already has the loading image with the given CRC downloaded, the image will load automatically without needing to be downloaded.


     registerLoadingScreen("", "png");

The background must be below 2MB in file size, or else it won't load!

Player List
A lot of servers have more than just the normal admin and super admin ranks so Glass allows server hosts to set their client's rank on the server list. This can be done by calling a client command to update the letter.

     clientCmdGlass_setPlayerlistS tatus(%blid, %char, %color);

%blid - The BL_ID of the client you would like to change.
%char - The desired character. This has a limit of one letter.
%color - The color you would like the line to be.

Color code:
1 = Black
2 = Grey
3 = Light Grey
4 = Pinkish Red
5 = Blue
6 = Red
7 = Green
8 = Orange
9 = Teal


     commandToAll('Glass_setPlayerlistStatus', 2143, "J", 7);

General Discussion / -wrong board-
« on: August 25, 2018, 11:06:10 AM »
-wrong board-

Add-Ons / Re: Blockland Glass 4.2
« on: August 24, 2018, 05:59:10 PM »
The Discord Update (version 4.3) has been released. That title is pretty overblown because the update only contains a new authenticator to use the Glass Discord in light of server raids and private investigating and other stuff I don't have time to manage.

Add-Ons / Re: Blockland Glass 4.2
« on: August 22, 2018, 09:54:17 AM »
I missed it because I was busy moving, but happy third birthday to Glass, as of Monday.

Just to check up on the stats, Glass has delivered 389,753 downloads over the past three years - roughly 2/3rds of which have been through the website at 219,840 web downloads, 106,194 in-game downloads, and 63,719 updates. Glass has seen 15,049 users over its lifespan, working out to an average of 25.9 downloads per user.

To date, 175 different developers have utilized Glass to host and distribute their carefully created content, totaling 751 add-ons being hosted on the Glass Mod Manager. These add-ons have seen 509 updates. Pulling from old RTB Archives, 38 add-ons have been imported to Glass, allowing for new updates to be delivered to lost followings.

As always, thanks again to the community for continued support and faith in Glass. We're here for at least another year, so cheers to that.

General Discussion / Re: Blockland Glass Hosting Service [Closing]
« on: July 30, 2018, 10:47:10 PM »
Ive always wanted to start my own hosting service but the idea of having to offer competitive prices makes me want to puke. $7 a month is stuff, especially since you'll probably have 5-6 clients every month. The amount of time it takes to set up and maintain basically makes the entire service a net loss.

I'd charge $15 per month and everyone would probably hate me and someone would come along with a better price and monopolize hosting until they shut down a month later

I think there were around ~25 clients max, ~15 recently. Always in flux though, at least half of those were expiring regularly within the month with a roughly equal amount beginning to fill their spots. A higher price definitely does allow for a better service, can front better hardware, less nervous of an operation all around.

It's hard seeing the big established hosting services (Minecraft's market is a great example) offering impossibly low prices that owning their own hardware and colocation can allow them to offer. Trying to raise prices incentivizes a cheaper competitor, and with such a small community, that can easily mean a good chunk of clients, meaning the entire operation stops being feasible. Granted, the small community also means competition is less likely.

Pages: [1] 2 3 4 5 6 ... 159