SRB2Kart Dedicated Server Hosting – Part 4

This one is pretty easy all you have to do is buy a domain from a registrar and create an A record for your server.

The process is similar between all of them. My preferred registrar is porkbun.com they offer good prices for the domains I buy. Whoever you choose to buy from doesn’t really matter from just make sure it’s not godaddy they’re the worst.

To create an A record it’s pretty simple. The one I use for kart.moe looks like this:

Leave the host or subdomain blank to point to your ip address and you’re done.

Note that on some registrars like porkbun they create a default record that points to their servers. Just make sure you modify that one or delete it and create a new one.

If buying a domain is too much I’m offering anyone reading this a chance to get a *.kart.moe subdomain free of charge.

Want yourname.kart.moe or mywaifu.kart.moe? Just PM me on discord (ヒーミー#1031) with the subdomain you want and your server ip address and I’ll set it up for you. It usually takes like a minute to create so you won’t have to wait long.

Happy karting!

Posted in Uncategorized | Leave a comment

SRB2Kart Dedicated Server Hosting – Part 3

With everything in place let’s automate the server so we can be lazy and not have to start it manually every time.

Continue reading

Posted in Linux | Tagged , , , , | Leave a comment

SRB2Kart Dedicated Server Hosting – Part 2

On the last post we successfully created a vanilla server of srb2kart that runs 24/7. Now you and your friends are having a fun time playing races with the base characters.

But what about custom characters? What about funny mods? Let’s add those to the server!

Continue reading
Posted in Linux | Tagged , , , , | Leave a comment

SRB2Kart Dedicated Server Hosting – Part 1

So you’ve decided to host a dedicated server 24/7 so you can play with your friends without having to leave your machine running but have no idea where to start. There’s so many questions on how to do this and you get thrown words at you like LINUX, DIGITAL OCEAN, CLOUD, VULTR, 24/7 SERVER but none of them make sense to you.

That’s why I wrote this guide to help with setting up a dedicated cloud server from scratch. Hopefully by the end you can get a server up and running with these steps.

Continue reading
Posted in Linux | Tagged , , , | Leave a comment

Acrobatics

Acrobatics Documentation

Current Version: v0.5 [Augmented-Burst-Storage System]
by Angular

This page is also a work-in-progress – mind the work zone for a while.

Download it here.

[The message board is the current v0.4 stable release, not v1.]

What is this?
Acrobatics allows for absurd aerial antics in SRB2Kart – Charge a spin in midair, and land to get cool and nice bonuses! There are 3 styles to suit different playstyles.

[general gif of bing bappin around]

How to Trick – Race

Press and HOLD the [TRICK] button (BRAKE by default) to start a trick in midair!
You need to be ascending to start one in a Race.

[gif of meter starting]

Build the meter by holding down [TRICK]. Aim for the little purple for best results! If you overshoot, release the [TRICK] button.

[gif of wiggling meter bar]

Don’t have the [TRICK] button held when you hit the ground! Tony Hawk’s watching you.

[gif of trickfail 1]

Don’t OVERCHARGE [be in the red]! You’ll do a micro- mini-spinout [Depending on severity].

[gif of trickfail 2]

Trickstyles

[gif of zippin, maybe 2]

  • BURST — Release your charge for a huge boost forward!
    • You can zipboost – Release a stored drift after landing to barrel forward aggressively. You’ll charge forward in the direction of your released boost.
    • Chainable – Extend the length of your boost by doing successive jumps!
    • There is a period of adjustment using zip boosts – the control is something that can throw racers off for those that aren’t accustomed to it.

[gif of store boost, gif of store after getting BOMBED]

  • STORE — Your charge will be stored in a gauge. Press ITEM without an item to use the gauge and boost forward like a miniature sneaker.
    • Microboosts can be used any time you don’t have an item on you.
    • Persists even in death.
    • No landing boost bonus.
    • If the meter is maxed out, no further tricks will give you additional boost. Use it or lose it!
    • Weak in comparison to the other 2.

[gif of augment gain, gif of bonking]

  • AUGMENT — Your charge will be converted to an overall boost in base boost! This has a small effect on your base top speed, but has a multiplier effect on any boosts you get – it’s a very subtle but powerful additive.
    • This speed stacks multiplicative in everything you do – boosts, sneakers, growth, etc.
    • A fully augmented speed 1 can edge out a speed 9!
    • This bonus can be lost, little by little, by bonking into walls, getting spun-out, dying, or driving too slow for too long. Keep up the pace!
    • Augment decay can be prevented by doing more tricks.

How to Trick – Battle

Tap the TRICK button ANYTIME in midair to do a mini-double jump! This double jump gives you a little mobility in the air as well!

[gif of hop]

Tap it AGAIN afterwards to perform a STOMP – You’ll rocket to the ground and zero in on foes.

[gif of stomp]

  • The stomp creates a shockwave that’ll push opponents away! Use it to shove people into pits, or clear a landing zone for the perfect shot!
  • You can stomp through explosions! Adds new meaning to the term divebombing.
  • Once you start stomping, there’s no stopping! Hope you aimed well.
  • You’ll be vulnerable for a split second after landing from a STOMP.

LIST OF COMMANDS

  • PLAYER SIDE – Mechanical
    • ac_trickstyle [text or 0-2] alises: trickstyle, changetrick, trick, trickchange, ts
      n.b. This does not have any effect in Battle Mode, which forces the STOMP style.
      n.b. A server may force a trickstyle upon everyone, preventing a player from changing their style.
    • ac_trickbtn [BRAKE/CUSTOM]* aliases: changetrickbutton, trickbutton trickbtn
      • Allows the trick button to be mapped to BRAKE or CUSTOM1.
      • This command will not work with certain other mods that use CUSTOM1/2/3 as essentials. Tricks will default to BRAKE in this instance.
  • PLAYER SIDE – HUD Customization: Acrobatics allows the user to tweak the UI to their liking.
    • ac_trickreminder [on/off]
      • Toggles the trick reminder locally. If it’s on, it’ll remind you every two races.
    • ac_textalignment [centered/left]
      • The flavor text [“OK…”, “NICE!”, etc.] shows up either in the middle, or on the left side like in earlier versions. No guarantee of compatibility with overlap with other mods.
    • ac_meterstyle [0-4, or type in the styles below]
      • 0 – Disabled – No meter, all screen.
      • 1 – Minimal – Thin as a stick.
      • 2 – Simple – For a cleaner looking colorbar.
      • 3 – Default – Out of the box look.
      • 4 – Alternative – Thicker shades, thicker style.
    • ac_barsnap [yes/no]
      • STORE’S bar will snap towards the left side of the screen if there’s no item – otherwise, it’ll stay where it is at all times, regardless of item presence.
    • ac_augshow [potential/raw]
      • Toggles AUGMENT’S display – displays either POTENTIAL [total out of 100%, not a true 100%] or RAW [the actual percentage of an augmented bonus].
  • SERVER SIDE [you’ll need admin commands to change these]
    • ac_forcetrick [freestyle/burst/store/augment] or [-1, 0, 1, 2]
      • Forces everyone on a server to a homogeneous trick style.
    • ac_acrohell [forced/disabled/hellmap] [-1, 0, 1]
      • Toggles daredevil mode – forced forces it on ALL maps, off removes it completely, hellmap means only hellmaps will experience this.
      • This function will NOT work if [ac_forcetrick] is on – this is an intentional safeguard.

Changelog can be found here.

Credits

Afrorule/Pepperdork for the ghost effect code and the original “Tricks” mod, which Acrobatics was originally written on top of.

Ashnal and Callmore for assistance/wisdom and some small snippets of code.
The numerous people who play tested this weird mod and gave feedback – it all helps in some way.

 

Posted in Mods | 1 Comment

Building SRB2 Kart for Linux

1- First install the dependencies

Assuming Ubuntu. For other distros find the equivalent dependencies
Open up a terminal and type

sudo apt-get install build-essential git p7zip-full p7zip-rar nasm libpng-dev zlib1g-dev libsdl2-dev libsdl2-mixer-dev libgme-dev libopenmpt-dev libcurl4-openssl-dev

2- Get the source code

vanilla source code:

https://git.do.srb2.org/KartKrew/Kart-Public.git

moe mansion:

https://gitlab.com/himie/kart-public.git

Moe Mansion is for playing at 60fps and all the latest probably unstable features. Recommended for client if you’re playing the game on linux.

Vanilla is the same code that kart krew released for 1.3. Recommended for a server since it doesn’t need all the extra features in moe.

Clone the code with git from the moe repository this will get the moe mansion srb2kart 1.3 code (change the url to vanilla if you’re building for a server or don’t want moe mansion)

DO NOT use moe mansion to host a dedicated server. It should only be used as a client. Use vanilla if you’re hosting a dedicated server. There’s some reports that it works fine now as dedicated. If it’s not the case let me know on discord.

git clone https://gitlab.com/himie/kart-public.git

In the terminal move to the directory you just cloned. Make sure to match the name of the repo that you cloned. Moe mansion is all lower case while vanilla uses upper case Kart-Public

cd kart-public

In the future if you want to update your installation you can update the source code by pulling from the repository with git

git pull

3- Compile the source code

This is the most basic line you can compile with. Add any extras as needed.

make -C src/ LINUX64=1
  • Change LINUX64=1 to LINUX=1 if doing 32-bit
  • Add NONX86=1 if compiling on ARM like an rpi
  • Add NOUPX=1 to get rid of the upx warning at the end of compiling
  • If you still have problems with GME you can disable it by adding NOGME=1
  • Add NOOBJDUMP=1 to speedup linking time
  • Enable discord rich presence support by adding HAVE_DISCORDRPC=1
    • To compile with discord you need to download the discord rpc .zip from here
    • Copy the files from discord-rpc/linux-dynamic/
        • discord_register.h and discord_rpc.h go into /usr/local/include/
        • libdiscord-rpc.so goes into /usr/local/lib/
  • If you are on an older distro (Ubuntu 20.04 or lower, Debian 10 or lower)
    • Add LIBGME_CFLAGS= LIBGME_LDFLAGS=-lgme  before “make” to fix libgme errors
    • Your compile line should end up looking like
    • LIBGME_CFLAGS= LIBGME_LDFLAGS=-lgme make -C src/ LINUX64=1
  • If you are on an newer distro (Ubuntu 20.10+, Debian 11+, Arch)
    • Install pkg-config with sudo apt install pkg-config it will deal with fixing libgme automatically if you have it installed

In the end your compile line should look something like this (this is what I use)

make -C src/ LINUX64=1 NOUPX=1 NOOBJDUMP=1

After waiting for a while the binary will be compiled to bin/Linux64/Release/lsdl2srb2kart

As a good practice every time you want to compile again you need to clean the source folder to avoid getting weird errors. This is mostly necessary when switching branches but it doesn’t hurt to do it every time you compile. To clean simply add “clean” at the end of your compile line. You can quickly go back to what you typed before by pressing the up arrow key and adding clean at the end. Then to the same but with “cleandep”.

For example with my compile line above I would clean like this:

make -C src/ LINUX64=1 NOUPX=1 NOOBJDUMP=1 clean
make -C src/ LINUX64=1 NOUPX=1 NOOBJDUMP=1 cleandep

And then remove the clean to compile again

make -C src/ LINUX64=1 NOUPX=1 NOOBJDUMP=1

4- Install the binary

What I like to do is move this binary to /usr/local/bin for easy access
While still being in Kart-Public folder in the terminal:

sudo install -Dm755 bin/Linux64/Release/lsdl2srb2kart /usr/local/bin/srb2kart

Also copy the icon

sudo install -Dm644 srb2.png /usr/local/share/pixmaps/srb2kart.png

5- Obtain the assets

Next you’ll need to obtain the assets for srb2 kart.
You can get them with the windows release https://github.com/STJr/Kart-Public/releases/download/v1.3/srb2kart-v13-Installer.exe

If you are running a desktop on linux you can download the installer.exe and open it as an archive and extract all the .kart .srb mdls.dat and mdls/ files
They should go in a folder called .srb2kart inside your home folder

You can also do it via the terminal:

Create the .srb2kart directory with mkdir

mkdir ~/.srb2kart

Move into it with cd command (change directory)

cd ~/.srb2kart

Get the Installer

wget https://github.com/STJr/Kart-Public/releases/download/v1.3/srb2kart-v13-Installer.exe

Extract only the files we nee

7z x srb2kart-v13-Installer.exe "*.kart" "*.srb" "mdls.dat" "mdls/*"

Delete the installer since it’s no longer needed

rm srb2kart-v13-Installer.exe

6- Run the game

Now you can run the game by typing in the terminal

srb2kart -opengl

7- Add shortcuts to your applications menu

Will use the .desktop files provided by SteelTitanium in the AUR

Type into the terminal:

sudo wget -O /usr/local/share/applications/srb2kart-opengl.desktop https://aur.archlinux.org/cgit/aur.git/plain/srb2kart-opengl.desktop?h=srb2kart
sudo wget -O /usr/local/share/applications/srb2kart.desktop https://aur.archlinux.org/cgit/aur.git/plain/srb2kart.desktop?h=srb2kart

If the /usr/local/share/applications folder doesn’t exist create it with mkdir

Now srb2kart should appear in your applications menu.

Running with OpenGL lets you use models, better performance, among other things and it’s recommended.

Alternatively, you can do a rootless install, if you want to keep everything inside your home folder or are on a computer where you can’t access root (admin access).
Copy lsdl2srb2kart into ~/.local/bin, copy the .desktop files into ~/.local/share/applications, copy the icon into ~/.local/share/pixmaps

If everything on the guide worked fine you don’t have to do this.

Credits

Thanks to DudeValenzetti, MajorGnuisance, and Ashnal for helping in figuring out compiling and linux fu to make this guide noob friendly.

Posted in Linux | Tagged , , , | Leave a comment