Author Topic: Blockland Glass - Open Beta  (Read 17811 times)

Blockland Glass Development
Here we go again...


Description

Blockland Glass is a project aimed to enhance the experience of playing Blockland though framework. The original version was released April of 2012, slightly over a year ago, aimed to remove the need for downloading GUIs. Since then, we've explored various new paths to take Blockland Glass (BLG) on, but none of been successful. Unlike the first two topics, this topic was made after much of the work has been completed, not before.


What's in development

Server Information
The next version of BLG will be aimed at the server list and server control. I've gathered a few screenshots to show you - note, these aren't mock-ups.

Anyone who has RTB has seen the information button on the server listing. I've set a goal to make this information page useful, providing (atleast somewhat) informative data before joining a server.

By release, server rating will be functional.


The general statistics will display more data by release, and allows for other add-ons to display data.

To provide better access to information and less reliance on our servers, the server information operates by listening to the same port the server is on. Blockland itself only uses UDP, but often during port-forwarding and when a server is started with UPNP, the port is opened for TCP but unused, allowing us to utilize that open space. If that port is taken (by something such as a hosting service or another add-on), simply open the settings and change the port. Both of the major hosting services provide plenty of extra ports for you to use.


If you don't want any of your information shared, simply disable them!


Gui Requirements
Our previous attempt at treating the GUI issue, although completely functional, failed. So, here's take two. Instead of seamlessly downloading and creating a shell of the GUI while relying on the server for functionality, our new approach simply downloads the GUI file (with client approval). Be warned that the downloaded files can potentially hold malicious script - you run the same risk as when you download any other file that isn't posted on the forums.

Code: [Select]
BLG_S_GUI.addGui(%name, %url, %mandatory)Do not include "http://" in the url.




Open Beta
We're currently providing an open beta. This current version of BLG is rewritten from the ground-up and does not contain ANY functionality from the previous versions.

Please report any bug via the forum until we can implement a bug-tracker.

Beta 2

First off, I'd like to thank the 13 of you who have downloaded beta 1! Your participation was a great aid in squashing bugs and fixing up the server. Unfortunately, a flaw in the engine led me to believe that beta 1 was actually functional, while in reality it was not at all. I've fixed that up in beta 2, along with adding server tracking, which currently only works with BLG servers. I've decided just to ship that functionality in beta 2 to just show that I am indeed getting work done, and to release a fix of the server information page.

You may notice that the ratings area has changed. There is currently no way to submit a rating, and I'm currently rethinking the entire system. Once again, simply disregard the rating area.

Please post regarding any bugs, and please include your console.log. This is crucial to fixing the bug.

Server tracking can be found on the RTB overlay. If you don't have RTB, you'll have to wait until beta 3. When adding a new server to follow, add the host by BLID. My server, as usual, will be available if you'd like to experiment. My BLID is 9789.

Beta 2


Known Bugs:
Quote
  • Only functions on dedicated server
« Last Edit: May 11, 2013, 08:30:02 PM by Scout31 »

To provide better access to information and less reliance on our servers, the server information operates by listening to the same port the server is on. Blockland itself only uses UDP, but often during port-forwarding and when a server is started with UPNP, the port is opened for TCP but unused, allowing us to utilize that open space. If that port is taken (by something such as a hosting service or another add-on), simply open the settings and change the port. Both of the major hosting services provide plenty of extra ports for you to use.
Holy stuff, this is what I've always wanted for server communication. I probably mentioned it 100 times. Good job.


EDIT: found it
The first attempt to upload the save will be done by directly connecting to the server through TCP. That's normally easy because when people port forward, they often select both TCP and UDP out of ignorance. In addition to that, Blockland port forwards through uPnP with both TCP and UDP. RemoteControl takes advantage of those mechanisms by listening TCP on the server's port.
« Last Edit: April 23, 2013, 05:19:00 PM by Kalphiter »

Holy stuff, this is what I've always wanted for server communication. I probably mentioned it 100 times. Good job.
Pretty sure I learned about it from a post you made.

EDIT: Yep. That post.

Neat
though i'll download when you get server ratings up.

If you show progress and really get the project going, I may donate for paying part of the server costs.

What does the mod do at the moment?

Nice, although it would be nice to have a "report malicious content" option somewhere.

Feel free to adopt this philosophy as it seems like the goal:

The movement of forward progress in Blockland depends on the quality of tools and their developmental abilities available to its scripters.

What does the mod do at the moment?
At the moment, just the features displayed in the screenshots. My server is up if you want to take a peak at a functional server information screen. I'm working on ratings right now. I have plans for faster save upload and possibly some limited remote management later. I also have a wrapper setup that allows for remote console, called "Glass Lite". It's actually completely functional except for Blockland updates at the moment, but I'm hesitant to release it.



The screenshot was clipped a bit. There's a console entry area below. Right before starting the server, the wrapper adds a line to the pref file telling what port the wrapper will communicate with it locally on and injecting the script used to do so.


The movement of forward progress in Blockland depends on the quality of tools and their developmental abilities available to its scripters.
That's always been a big goal for BLG since I've started it. In the last tangent of development, I pretty much opened up everything RTB offered that others would want to use (notifications, overlay, some chat features) to an API. If we want to see really high quality servers and experience without a huge hassle for each player to participate, we need some framework and tools to help.
« Last Edit: April 23, 2013, 06:17:08 PM by Scout31 »

Nice, although it would be nice to have a "report malicious content" option somewhere.
That's definitely something I want to do. Reporting a link, or even a server as a whole. Unfortunately, that could be abused and every url could be marked as malicious.

PLEASE use a monospace font in the console

I do not understand this because I am an idiot... Someone please explain to me in less technological terms...

PLEASE use a monospace font in the console



I do not understand this because I am an idiot... Someone please explain to me in less technological terms...
Before you join a server, you can press the "Information" button on the server list to view stats and to rate the server.

It also provides automatic downloading of GUIs for a server.

Some uses for that TCP transfer:
Quick save uploading
Save downloading (anonymous)
Server information

Some uses for that TCP transfer:
Quick save uploading
Save downloading (anonymous)
Server information
Yep, all of those are things I would like to implement. Another thing that I'd like to look into is a live-updating server list and the ability to "follow" a server, meaning getting notifications when it starts up. I have a lot of things on the drawing board at the moment, but I don't want to set anything in stone as that has led to issues in development previously.

Is the GUI downloaded directly from the server, or is it downloaded from a website?