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.


Topics - DontCare4Free

Pages: [1] 2 3 4 5 6
1
ParseTS



ParseTS will automatically build documentation for your project, sort of like Javadoc. Currently the output looks like this:



Usage:

Code: [Select]
$ parsets docs <PATH>

Where <PATH> is either a file or a directory. The output should now be in dist/parsets-docs.

In order to add a documentation comment to a function, use the following style:

Code: [Select]
//| This function does X
function doX() {
}

Installing:

  • Install GHC (tested against GHC 7.8, I recommend MinGHC if you're on Windows)
  • Check out the docgen branch from GitHub
  • $ cabal install

You can also run directly from the source directory using the cabal run command.

2
Modification Help / Docker images for hosting on Linux
« on: March 17, 2014, 10:10:15 AM »
After reading about some of the problems people have (and having some myself too) regarding hosting Blockland on Linux, I decided to make a Docker image for it. A Docker container is basically like a virtual machine, except it completely shares the system resources (no more special partitions or disk images where you have to preallocate space), they share the system kernel (meaning less resource and memory usage), they can be based on other images (which share storage space thanks to copy-on-write), that they have predesignated entry points running a single application instead of the whole system, and that they can be built easily in a scriptable fashion (Dockerfiles). Oh, and there is a pretty huge registry of prebuilt images for all sorts of purposes.

What does this give over hosting the instances normally?
1) Simplicity. Start an instance with a single command.
2) Standard environment. It's easier to give support if we know your instance is exactly the same as everyone else's (or at least that you can easily package up your changes so other people can inspect them on their own systems).
3) Save space. Each instance only consumes the hard-drive space that the settings and add-ons require. Everything else is shared for everybody, though instance A can never under any circumstances impact instance B.
4) Authentication just works!
5) Your containers automatically get cute names like nostalgic_bohr!
6) Resources are fairly-ish shared so one instance can't hog all of the CPU for itself (yes, systemd provides this out of the box too, but that isn't the default on either Ubuntu or Debian yet).

How big is the image?

1.2GB, but note that this only applies once, not for each instance or each server you host, contrary to ordinary hosting. Also, about 200MB of this is shared between all Docker Ubuntu 13.10 images.

How do I run it?
Install Docker (if you haven't already), then run (remember sudo if you're not already root)

Code: [Select]
# docker run -i -t -P teozkr/blockland

This should create and start the Blockland instance, as well as give you access to it's console.

How do I update it?

Code: [Select]
# docker pull teozkr/blockland

What I wanted to know wasn't listed here!
Have a look at the GitHub repo.
It's a trusted repository on the Docker Index, which means that Docker Inc has ran the Dockerfile and produced the VM, not the potentially lying me.

3


Today, when developing an add-on, your options for auto-updating usually consist of having none, building your own, or using RTB.

With all three options you usually end up having to repackage your add-on every time you release it. In addition to this, each approach has it's own disadvantages. Having no auto-updating at all quickly gets tedious for your users if you need to update something, and people aren't very likely to actually update. Building your own takes a non-trivial amount of work, and delivers an inconsistent user-experience to your users. RTB has a lot of latency, and it's not unusual to have to wait for days, if not weeks, before your add-on or update is actually released to your users, making it inconvenient for regular releases and almost impossible to use for beta releases and similar. What if releasing an update was as simple as pushing the update to your Bitbucket or GitHub repository, and it'd then be released to users within 5 minutes?

So is this a replacement for RTB, then?
No. RTB provides a lot of features that Brickbucket does not even plan to offer, including stuff not related to add-on management (RTB Connect), as well as a useful service for discovering add-ons. Brickbucket is supposed to come into the picture after you've "sold" the add-on to the user.

Features
  • No extra effort for you as the developer, just push it to Bitbucket or GitHub as usual (make sure to structure your repository layout like this)
  • Updates released to users within 5 minutes
  • In-game auto-updater
  • Web-based endpoint that automatically repackages your add-on for Blockland, and includes the metadata required for Brickbucket to function
  • Open source

Status
Server - Working
Client - Not yet started

Links
Server Bitbucket repository
Issue tracker

4
I have "Hide email address from public?" unchecked in the account settings page, but my profile still doesn't seem to display it.

5
Off Topic / What fruit is this?
« on: April 08, 2013, 11:56:41 AM »

6
Modification Help / Permissions 2.0
« on: February 28, 2013, 02:34:13 PM »
About a year ago, I made Permissions. That said, I believe the general impression of it would be summed up best by this quote by Lugnut:
i need to learn how to use this
then use this
In other words, it worked and was useful, but the UI was very unintuitive.


This was ages ago, why did you make a topic for it now?
I'm currently planning on making a 2.0 of this, featuring a new UI (at least a serverCmd-based one, but also a new GUI if I finally manage to convince someone to do it), as well as support for assigning permissions to clients directly (in addition to through roles).
Also, I'd like to hear, both from server hosts/administrators, and from my fellow modders, what features you'd like to see in the mod (and, especially for modders, what (if anything) prevents you from using it as is).


Currently planned features
  • New UIs
  • Direct Permissions (has actually been a hidden feature since 1.4)
  • Role inheritance (hidden feature since 1.0)


How can I help?
All source code, as well as the todo list, is public on the BitBucket repo. That said, if you want to make any deeper modifications (or don't know what to do), please contact me either through Skype (teozkr) or Steam.

7
Off Topic / My little brother's phone broke
« on: February 03, 2013, 09:35:37 AM »

:D

8
Modification Help / Updated Blockland API documentation
« on: December 01, 2012, 09:18:36 AM »
Includes all default functions and classes. To get your add-ons included (will be clearly marked away from default stuff), put it in a public Bazaar, Mercurial, or Git repo and post it here, or submit a pull request on the Bitbucket repo adding it as a suprepository.

http://bldocs.nullable.se/
Help with documenting the currently uncommented stuff

9
Games / Magicka key giveaway
« on: September 30, 2012, 11:48:35 AM »
(I got a key for it on an event, but since I already have it and the big DLC I figured I might as well give it away)

  • Post in thread if you're interested.
  • One entry per person
  • May or may not include all DLC (no idea)
    • It's a Steam key, so it (obviously) requires you to have a Steam account
      • I'd prefer if you had at least one (paid) game on it already, or that it has existed for more than a month to be sure that it isn't an alt
  • You're not eligible if you already have the game

People in for now

10
Off Topic / Why do I have certain doubts about this...
« on: September 21, 2012, 05:49:34 PM »

11
General Discussion / V21 in all it's glory
« on: September 21, 2012, 08:30:23 AM »

12
Off Topic / New website
« on: August 30, 2012, 12:27:10 PM »
So because I was bored and my current website was pretty bad I decided to remake it.
Opinions?

PS. If you were wondering, it's running on Django and MySQL, using HamlPy for templating, Django-Pipeline+CoffeeScript+CleverCSS for stylesheets and client-side scripts, and Haystack+Whoosh for search.

13
Games / Y3k OpenTTD server
« on: August 23, 2012, 03:51:22 PM »
Starting year is 3000, reset year is 3050. Map size is currently 512x512.

Connect to "Nullable.SE" (just connect to the "IP" nullable.se manually if you can't find it). Password is "secret".

Rules:
  • Don't be an idiot.

14
Modification Help / Disabling brick damage for a minigame
« on: August 15, 2012, 09:38:48 AM »
I tried
Code: [Select]
$DefaultMinigame.brickDamage = false;
and brick damage still worked. However, doing it from the GUI for a non-dedi minigame seems to work fine. Is there some function I'm supposed to call to make it update?

15
Game Modes / Deathmatch with vote-based map cycle
« on: August 15, 2012, 05:07:13 AM »
When the gamemode starts a random build is loaded from the pool. Then, after either a time limit or a score limit is met a vote is triggered, in which people can vote for a new map from a random subset of the pool. After the vote is over the map is cleared and the new build is loaded (and everyone respawns), after which the fight continues.

DOWNLOAD
GitHub
Issue Tracker (aka todo-list)

Adding custom builds to the rotation pool
To add a new build to the rotation pool, you should make a file in config/server/deathmatch/builds called with the file extension .dm. It can contain the following contents:
NameDescriptionAllowed valuesExampleRequiredRepeatable
addonRequire an add-on, similar to the ADDON statement in gamemode manifestsAdd-on namesWeapon_GunNoYes
buildDefines what build to loadPaths to save filessaves/ACM City.blsYesNo
toolDefines a tool to be set on spawn with the selected buildTool index (zero-indexed) followed by the name of a datablock of a tool/weapon (not the uiName)0 GunItemNoOnce for each tool index
playertypeThe player type for people to spawn asThe name of a datablock of a playertypePlayerNoJetNoNo
environmentThe environment file to be used with this buildAn environment as exported by saveEnvironment(%path);.config/server/deathmatch/environments/Beta_City.txtNoNo

Example file (note how the Add-On is always loaded before it's used):
Code: [Select]
build saves/ACM City.bls
addon Player_No_Jet
playertype PlayerNoJet
addon Weapon_Gun
tool 0 GunItem

Is there a server running this so I can see it in action?
Yes.

Pages: [1] 2 3 4 5 6