Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 09/05/2022 in all areas

  1. List of Open Source Software: Peer To Peer: Defined Networking / Slack Nebula: Information: Written In Golang Use Case: best for server-to-server and server-to-network infrastructure GitHub: https://github.com/slackhq/nebula Website: https://www.defined.net/ Tailscale: Information: Uses WireGuard and written In Golang Use Case: best for user/server-to-server and user/server-to-network GitHub: https://github.com/tailscale/tailscale Website: https://tailscale.com/ ZeroTier: Information: Written In C/C++ Use Case: best for user-to-user or user-to-server GitHub: https://github.com/zerotier/ZeroTierOne Website: https://www.zerotier.com/ Nebula REST API: (Management API for Deploying Nebula) GitHub: https://github.com/elestio/nebula-rest-api Headscale: (For Tailscale Self-Hosting) GitHub: https://github.com/juanfont/headscale VPNs: Pritunl: Information: OpenVPN Based and written In Python Use Case: best for user-to-user or user-to-network, and supports high-availability. GitHub: https://github.com/pritunl/pritunl Website: https://pritunl.com/ SoftEther: Use Case: best for user-to-user or user-to-network GitHub: https://github.com/SoftEtherVPN/SoftEtherVPN/ Website: https://www.softether.org/ Tutorials & Information: About Nebula: https://slack.engineering/introducing-nebula-the-open-source-global-overlay-network-from-slack/ Slack Nebula is production ready with support to saturate 10+Gbps links as tested by Slack in production.
    3 points
  2. Hey all! I've made additional changes to the website! I've implemented a background image with an overlay. We will be extending this system into a gallery/slideshow via JavaScript animation and such. With that said, I've fixed some formatting issues with code blocks, private DMs, and more. I also reformatted the social media icons at the bottom of the website I would say things are looking a lot better at this moment! Also added a feedback forum!
    3 points
  3. Viva New Vegas https://vivanewvegas.github.io/ by VishVadeva50 With a few adjustments this pack for New Vegas was one of my favorite experiences with the game. FONV ultimate edition is $5 for what could be 500+ hours of content in the base game let alone a game with all these additional features, bug fixes, cut dialog, and so on... You can use this as a base modding experience that sifts through a lot of the dependencies and compatibility errors you'd deal with yourself while trying to have the most holistic RPG approach. Bethesda's modding community makes all their games much more enjoyable for me and if you haven't played the Fallout games they're very cheap and very enjoyable. Sidenote I think it's sad that FO76 hurt the name of Fallout and since Bethesda has been absorbed by Microsoft now I think we're gonna find out soon with Starfield whether we'll be getting any good games from them anytime soon. I'm thinking it could be hit or miss but Bethesda's new stuff doesn't have the magic it used to. Not sure how much I enjoy Starfield being on Creation Engine given what kind of RPG experience they're going for and I think if they put the next Elder Scrolls on Creation Engine the community will hate the game. If big studios wanna try to put games like FO76 into reality it might just be easier for everyone to be honest and step into the future. The amount of janky optimization fixes you need to do to get FO76 to play like a game released in 2018 playing on a 2080TI is not okay lol. With the huge amount of money invested and acquisitions of studios happening left and right the last couple years the gamers wanna know: where the fuck are all the GOOD VIDEO GAMES?
    2 points
  4. Heya everyone! I am going to be showing you how to launch a simple DoS attack to a target host along with how to block the attack on the target's side. Learning the basic concepts of a (D)DoS attack is very beneficial, especially when hosting a modded server, community website/project, or just wanting to get involved in the Cyber Security field. With that said, I do NOT support using this guide and its tools maliciously or as part of a targeted attack. The following guide and tools involved were created for educational purposes. I am also going to show you how to block/drop the attack as well. Firstly, this tutorial requires basic knowledge of Linux and networking. We are also going to be using tools created by myself called Packet Batch (for the DoS attacks) and XDP Firewall (for dropping packets as fast as possible). Packet Batch is a collection of high-performant network traffic generation tools made in C. They utilize very fast network libraries and sockets to generate the most traffic and packets possible depending on the configuration. When you use the tool from multiple sources to the same target, it is considered a (D)DoS attack instead of DoS attack. Network Setup & Prerequisites A Linux server you're installing Packet Batch host. A target host; Should be a server within your LAN and to prevent overloading your router unless if you set bandwidth limits in Packet Batch, should be on the same machine via VMs. The local host's interface name which can be retrieved via ip a or ifconfig. The target host's IP and MAC address so you can bypass your router (not required typically if you want to send packets through your router). I'm personally using a hidden VM that I actually expose in this post, but I don't care for releasing since I only used it to browse Hack Forums lol (I made a hidden VM with the name "Ronny" back a long time ago). Installing Packet Batch Installing Packet Batch isn't too difficult since I provided a Makefile for each version that allows you to execute sudo make && sudo make install to easily build and install the project. The issue here is that we do use third-party libraries such as libyaml and a lot of times those third-party libraries and other's Linux kernel/distro don't play along. I'm testing this on Ubuntu 20.04 (retrieved via cat /etc/*-release) and kernel 5.4.0-122-generic (retrieved via uname -r). ➜ ~ cat /etc/*-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS" NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal ➜ ~ uname -r 5.4.0-122-generic What Version Of Packet Batch Should I Use? There are three versions of Packet Batch. Versions include Standard, AF_XDP, and the DPDK. In this guide, we're going to be using the Standard version because other versions either require a more recent kernel or the DPDK which is a kernel-bypass library that only supports certain hardware (including the virtio_net driver). Building The Project You can read this section on the Standard repository showing how to build and install the version. There's also a video I made a while back below. # Clone this repository along with its submodules. git clone --recursive https://github.com/Packet-Batch/PB-Standard.git # Install build essentials/tools and needed libaries for LibYAML. sudo apt install build-essential clang autoconf libtool # Change the current working directory to PB-Standard/. cd PB-Standard/ # Make and install (must be ran as root via sudo or root user itself). sudo make sudo make install Launching The DoS Attack Unfortunately, the current version of Packet Batch doesn't support easily configurable parameters when trying to limit the amount of traffic and packets you send. This will be supported in the future, but for today we're going to use some math to determine this. With that said, we're going to be using one CPU thread for this, but if you want to send as much traffic as possible, I'd recommend multiple threads or just leaving it out of the command line which calculates the maximum amount of threads/cores automatically. We will also be launching an attack using the UDP protocol on port 27015 (used for many game servers on the Source Engine). We're going to send 10,000 packets per second to the target host. Our source port will be randomly generated, but you may set it statically if you'd like. The source MAC address is automatically retrieved via system functions on Linux, but you can override this if you'd like. MAC address format is in hexadecimal, "xx:xx:xx:xx:xx:xx". There will be no additional payload as well, UDP data's length will be 0 bytes. Here are the command line options we're going to be using. We're also going to be using the -z flag to allow command-line functionality and overriding the first sequence's values. --interface => The interface to send out of. --time => How many seconds to run the sequence for maximum. --delay => The delay in-between sending packets on each thread. --threads => The amount of threads and sockets to spawn (0 = CPU count). --l4csum => Whether to calculate the layer-4 checksum (TCP, UDP, and ICMP) (0/1). --dstmac => The ethernet destination MAC address to use. --srcip => The source IP. --dstip => The destination IP. --protocol => The protocol to use (TCP, UDP, or ICMP). --l3csum => Whether to calculate the IP header checksum or not (0/1). --udstport => The UDP destination port. Most of the above should be self-explanatory. However, I want to note some other things. Delay This is the delay between sending packets in nanoseconds for each thread. Since we're using one thread, this allows us to precisely calculate without doing additional math. One packet per second = 1e9 (1,000,000,000). Now we must divide the amount of nanoseconds by how many packets we want to send per second. So let's choose 10,000 which results in 100,000 (value => 100000). Layer 3 and 4 Checksums These should be automatically calculated unless if you know what you're doing. We set these to the value 1. Now let's build the command to send from our local host. sudo pcktbatch -z --interface "<iname>" --time 10 --delay 100000 --threads 1 --l3csum 1 --l4csum 1 --dstmac "<dmac>" --srcip "<sip>" --dstip "<dip>" --protocol UDP --udstport 27015 While launching the attack, on the target's server, you can run a packet capture such as the following for Linux. For Windows, you may use Wireshark. tcpdump -i any udp and port 27015 -nne Here is my local LAN environment's command. sudo pcktbatch -z --interface "enp1s0" --time 10 --delay 100000 --threads 1 --l3csum 1 --l4csum 1 --dstmac "52:54:00:c2:8c:e1" --srcip "10.30.40.20" --dstip "10.1.0.58" --protocol UDP --udstport 27015 Please note you can technically use any source IP address, mine in this case is spoofed. As long as you don't have any providers and upstreams with uRPF filtering for example, you shouldn't have an issue with this. Here's our packet dump via tcpdump on the target host I'd recommend messing around with settings and you can technically launch many type of attacks using this tool in protocols such as UDP, TCP, and ICMP. It's really beneficial knowing how to do this from a security standpoint so you can test your network filters. Blocking & Dropping The Attack Now that you know how to launch a simple UDP attack, now it's time to figure out how to block the attack. Thankfully, since this is a stateless attack, it is much easier to drop the attack than launch it. However, when we're talking stateful and layer-7 filters, I personally have to say making those are harder than launching complex attacks. Attack Characteristics There are a lot of characteristics of a network packet you may look for using tools such as tcpdump or Wireshark. However, since we've launched a simple stateless attack, it's quite easy to drop these packets. For a LAN setup, this would be fine but for a production server, you have to keep in-mind dropping malicious traffic from a legitimate attack will be harder and you're limited to your NIC's capacity which is typically 1 gbps. 1 gbps is considered very low network capacity which is why it's recommended to use hosting providers that have the fiber and hardware capacities to support up to tbps of bandwidth per second. Let's analyze the traffic and determine what we could drop statically. The source IP since it always stays the same. The UDP length is 0 bytes. Depending on the application, it may not normally send empty UDP packets so you can drop based off of this. The first item above is the best way to drop the traffic. However, many applications also don't send empty UDP packets. There are also other characteristics that may stay static as well such as the IP header's TTL, payload length, and more. However, for now, I'm keeping it simple. Dropping Via IPTables IPTables is a great tool to drop traffic with on Linux. However, there are faster tools such as my XDP Firewall that utilizes the XDP hook within the Linux kernel instead of the hook IPTables utilize (which occurs much later, therefore, slower). The following command would drop any traffic in the INPUT chain which is what we want to use for dropping traffic in this case. We will be dropping by IP as seen below. sudo iptables -A INPUT -s 10.38.40.20 -j DROP You can confirm the rule was created with the following command. iptables -L -n -v You can launch the attack again and watch the pckts and bytes counters increment. Dropping Via XDP Firewall As stated above, XDP Firewall is a tool I made and can drop traffic a lot faster than TC Filter (Traffic Control), NFTables, and IPTables. Please read the above repository on GitHub for building and installing. Afterwards, you may use the following config to drop the attack. /etc/xdpfw/xdpfw.conf interface = "<iname>"; updatetime = 15; filters = ( { enabled = true, action = 0, srcip = "10.38.40.20" } ); You may then run the tool as root via the below. sudo xdpfw Conclusion In this guide we learned how to use Packet Batch's Standard version to launch a simple UDP DoS attack at 10K packets per second and how to drop the traffic via IPTables or using my XDP Firewall tool. I hope this helps anybody getting into network and cyber security If you have any questions or feedback, please feel free to post in this thread! Thank you for your time!
    2 points
  5. Guess if I want to info dump share parts of the engine I'll keep it here. Here's one of the key parts... https://en.wikipedia.org/wiki/Entity_component_system Basically the part that keeps track of everything in the game world, the systems are handled elsewhere. For anyone unfamiliar with this, it's a method for rapidly searching parts of an entity. For example, if you want to move objects around, they need a movement component. Then the movement system only grabs the movement components and performs updates. This way it doesn't have to process every single entity, just the ones it needs to. Definitions > https://github.com/wtfsystems/wtengine/blob/master/include/wtengine/mgr/world.hpp Implementation > https://github.com/wtfsystems/wtengine/blob/master/src/mgr/world.cpp - Thread safe - Exceptions thrown by this are just logged and do not stop the engine from running - Uses a vector to track entity IDs - Entities are referred by ID number or a unique name - You can assign the name or let it random generate - Unordered multi map to store the components - Uses templates for selection - Get/sets (const/non-const) for: - batch components of a certain type - all components for a certain entity - one component at a time - New components are created by just extending the base interface class Performed very fast in testing, it's hard to gauge now in running since it's all 2d, but can't wait to see what I hit once I get 3d in. Pretty much the final version as well, unless much further down the line it's reviewed for performance optimizations. Anything under that manager subclass is just a singleton. Right now you need to hard code everything that will be loaded into the game (spawner is a separate part), but expanding some of the features of the engine to be more dynamic is next on the checklist after I figure out my unnecessary but I just want to do it solution to my input handlers I wanted it to be possible to define the game objects using a modeling language, which fits nicely with TMC's goals. So I'll be getting my engine's entity spawner and asset manager to be controllable by the in-engine commands rather than just hard coded in. This alone would open up the ability for the engine to become moddable with little effort. I've already looked at a C++ JSON library so will likely add that into the project when the time comes. My only real restriction to the project is I'm targeting Emscripten. I have to stick with more basic libraries, and I believe this one was just standard STL usage. Here's the demo game that shows this all in action: https://github.com/wtfsystems/wte_demo_01/blob/master/src/wte_demo.cpp Sadly not in a build-able state RIGHT NOW due to the handlers update I'm trying to do. I'm trying not to give up with this, but I had a simple "override the lambdas" approach before. I got a Windows binary on there that's the same game, just a much older version of the engine. Pretty much right after I got the ECS up and running. Part of what I've been doing was I wrote the simple game first, then just reversed each part into more dynamic features to work like an engine and not a hard coded game.
    2 points
  6. HONESTLY I KINDA THINK I SHOULD WIN THIS BECAUSE I AM VERY COOL AND SO COOL AND SO AWESOME AND VERY COOL THAT HONESTLY I SHOULD WIN THIS. IF I CAN LIST EVERY SINGLE REASON ON WHY I SHOULD WIN THIS ITS. NUMBER 1: IM COOLER. NUMBER 2: IM BETTER. NUMBER 3: MY NAME IS NOKIASAIKOU AND I SHOULD WIN THIS. BECAUSE OF FORTNITE GAMING.
    2 points
  7. Just off the top of my head: - Audio system with a definable number of sample tracks in pre-compilation - Two track music with a mixer, single voice channel - Very customizable sprite system with shading and rotation (thanks to Allegro) - Uses Allegro's backend for all input devices - Threaded logging system - Will branch out the render-er in a thread soon - A bit in the early stages, but I plan on having nodejs scripts that automate build process Let me know if anyone has any questions, if I think of anything more in depth I'll keep adding it here.
    2 points
  8. Hey all! Interested in working with the team in integration of our projects. Developing my own engine which you can see here: https://github.com/wtfsystems Still in alpha, but I think I'm about a year out at most for completion. Right now a lot of the main features are done, just working on improvements. No 3d but that's planned last before release. My idea is get it running to make the game I want, then after that focus more on engine development and cool features. I wanted to keep this fast and efficient and aim for ease of development, try to squeeze it in as a decent choice for others to use it. This was also a project for me to level up my C++ skills haha My gaming background: - NES/SNES as a kid (100% under 2 hrs on Metroid 3!) - Tons of RPGs and ARPGs (I love Baldur's Gate) - Used to play fighting games a lot and was pretty good at it - Was a big Path of Exile nut, but played since beta and got tired - Playing a lot of Factorio now, but kinda as a background game - Turning into an old fart gamer LOL A lot of my modding experience was in the past with old PC titles like DOOM, the Quakes, and UT. But this was the stuff that got me into programming and hacking devices. I've done a lot of hardware mods for old systems, and built arcade interfaces (SuperGun) Got a friend that collects old arcade machines and helped with a lot of the electrical work on them. And speaking of Factorio, if you're not familiar check it out if you like base builders. It has a TON of modding support already as well. https://www.factorio.com/ Oh and I'm an Arch Linux user.
    2 points
  9. Made more changes to the templates including the main page, profiles, and footer. Changed group colors and completed social media links at bottom of the page. Next up is implementing a slideshow system with functionality to provide probability chances of getting images along with caching five images at a time for up to five minutes or so. Easter egg images (less likely to occur) can give achievements or XP in the future for users
    2 points
  10. I'm gaming as we speak, I am gaming to the extreme, I sip my gamer juice, lay back in my gamer chair, and play the gamer games on the gaming day with my gamer setup while listening to my gamer music, i look up at my gamer monitor displaying my awesome gamer game, ready to set a gaming world record, and yell at the screen after I got a bomb on minesweeper
    2 points
  11. Who's Ming, and why are they gay?
    2 points
  12. Join Christians only fans.!!!!
    2 points
  13. Vervecraft is a Minecraft community targeted for mature & laid-back players without needing a strict rules. Features inside the server: Server is 1.19.2 Single Player Sleep in Multiplayer Ender Dragon will drop Elytra Player-based economy, trading items with items. Diamond is generally the server's economy Creeper explosion is disabled because I hate creepers Phantoms are disabled in-game Creeper drops phantom membrane since they're disabled Land claiming; used for grief prevention. The command to claim lands is called "/claim" A role called Regular where you can earn it within 8 hours, you can build around the spawn island to make it as a town. You can use bonemeal on sugar cane. May come with a cost of the amount, though... be careful! Nitro Boosters can have its own custom tags More to come.... You can contribute in a lot of ways with the Minecraft community. Bring your friends, report any bugs, make friends, have it drama-free, basically just having fun. That's the point of being laid-back. Just... don't be annoyingly immature. LINKS Discord: https://discord.gg/CfMrcDYgEw Community: https://moddingcommunity.com/forums/community/5-vervecraft/
    1 point
  14. Would be great if we had any GFX Section with the sub boards : General Discussion, Showcase(to showoff our creations<<Handmade or with programs>>) Tools & Help, & Request(s)(in this one the members will request which design they want to own from us.
    1 point
  15. Hello, My name is Raphael Michael (As known As Deadly ViruS) i'm 31st years old, i live in Greece, i'm an employee to a municipal Company but my free time i'm a freelancer designer, I can design whatever the customer wants FOR FREE so if any of you is looking for any designer i'm here to solve all your wonders and make your imaginary design come true! Don't hesitate to pm me anytime, here are my contact infos: Facebook Fan Page: https://facebook.com/volcanoxdesigns Instagram: Rafaelos_1991 Skype: rafael.gewrgalis Discord: ViperZ#7406
    1 point
  16. Welcome and your designs look great
    1 point
  17. A SourceMod plugin that adds extra CT and T spawn points in Counter-Strike: Source and Counter-Strike: Global Offensive. This is useful for large servers that have to deal with maps with not enough map spawn points. NOTE - When an additional spawn point is being added, it uses the vector and angle from an already existing spawn point for that team. ConVars sm_ESP_spawns_t - Amount of spawn points to enforce on the T team (Default 32). sm_ESP_spawns_ct - Amount of spawn points to enforce on the CT team (Default 32). sm_ESP_teams - Which team to add additional spawn points for. 0 = Disabled, 1 = All Teams, 2 = Terrorist only, 3 = Counter-Terrorist only (Default 1). sm_ESP_course - Whether to enable course mode or not. If 1, when T or CT spawns are at 0, the opposite team will get double the spawn points (Default 1). sm_ESP_debug - Whether to enable debugging (Default 0). sm_ESP_auto - Whether to add spawn points when a ConVar is changed. If 1, will add the spawn points as soon as a ConVar is changed (Default 0). sm_ESP_mapstart_delay - The delay of the timer on map start to add in spawn points (Default 1.0). Commands sm_addspawns - Attempts to add spawn points. sm_getspawncount - Receives the current spawn count on each team. sm_listspawns - Lists the vectors and angles of each spawn point on each team. Please note a client may have issues outputting all of the details into their console. However, using the server console has been very consistent from what I've seen. Installation Copy the compiled ExtraSpawnPoints.smx file into the server's addons/sourcemod/plugins directory. For compiling from source, the source code is available at scripting/ExtraSpawnPoints.sp. To enable the plugin, either restart the map, server, or execute the following SourceMod command. sm plugins load ExtraSpawnPoints Credits @Christian GitHub Repository & Source Code ExtraSpawnPoints.sp ExtraSpawnPoints.smx
    1 point
  18. ATTENTION THIS IS NOT AN "ANARCHY" SERVER ANYMORE. It is unsustainable and toxic people like that don't donate and scare away people that do. ( Since this community is very expensive to run and we need donations this is a problem ) Was a very good experiment and it shows how toxic some people are. While this may be possible to do if this was just a single we server you can't really have a large community that's this toxic because it wont last. We currently have over 2000 people in the discord server. Plus well I've seen every kind of toxicity and it isn't really funny anymore. Rules: - No discrimination of any kind including racism and all of that stuff. - No harassment. - No posting gore or pornographic content. - No mic spamming or chat spamming. - Do not rage hack outside of HVH this will result in getting put into the HVH rank. - Do not spam this can result in you getting put into the spammer rank. - No trying to crash the server or lag the server( If you can that is ). - No threats of ddos or anything like that. - No toxicity. - These rules are subject to change. If you would like to donate you can do so at https://subs.lbgaming.co to get perks on this server and across other servers on the network. The global package is $5/mo or $100 one time. There is also extra ones for the RUST servers if you are interested in that Our discord is https://discord.gg/lbg. We have multiple servers running which consist of Gmod, TF2, Rust, CSGO, and CSS servers. We are currently in need of admins and you can apply on the discord by selecting gmod sandbox under roles and posting one in the staff applications forum. Staff punishment guidelines: - For being toxic( racism, discrimination, etc) and stuff like mic spam first start with a warning than you can mute them for a bit or gag depending on the toxicity and if they don't stop there is a Toxic rank that you can give them using the settoxicrank command. It is basically no access but they can use weapons and can't talk at all - If its posting gore the toxic rank can also work. - Threats of ddosing can just be a perm ban. - For crashing the server the toxic rank or no access rank works but if its something strange and it doesn't just ban them. - For harassment its basically the same as the first one.
    1 point
  19. Full & Interactive Presentation! We are an ever-expanding community that is taking modding to the next level! We have a unique marketplace, server browser, and hub for modders. We love the open-source community and use game engines such as Godot Engine. Help us make modding the norm!
    1 point
  20. Well ya fix one bug and ya find another After getting the handlers straight the game doesn't load now haha But I think this was back from when I switched from python to nodejs for my scripting I also changed around some of the names on the engine commands I just got to update all the script files and I should be good Gotta run out today so this I'm hoping will be a weekend fix So my top priority list is now: - fix this ^^ - work on the debug mode - update loaders to be flexible - web demo (full emscripten build) I'm hoping I hit that web demo by late Nov After that, implement 3d, then get any wrap up features in for what my game will need. Mainly a robust and secure high score system and replays since I want to make an arena shooter.
    1 point
  21. Tag username color should reflect the user's role color. As of right now it's dark and hard to read.
    1 point
  22. Look at that sexy man
    1 point
  23. Added basic rotation of backgrounds! I took the code from my old Browser.TF project. /** * Name: custom_rotationbackground.js * Author: Christian Deacon (Roy) * Note: Rotates background images. * Date: 7-13-16 **/ /* Global variables. */ var g_bRotateInProgress = false; var g_iLastRotateNumber = 0; var g_bFirstRotateTime = true; /* Configurable variables. */ var g_iFadeOutTime = 1.2; /* Seconds. */ var g_iFadeInTime = 1.2; /* Seconds. */ var g_iTimer = 30.0 /* Seconds. */ const g_sImages = ["{resource="logos/hl2-bg-small.png" app="core" location="front"}", "{resource="backgrounds/thumb-1920-557525.jpg" app="core" location="front"}", "{resource="backgrounds/Skyrim-mods-Bear-Musician.jpg" app="core" location="front"}"]; /** * Name: rotateBackground(); * Description: Rotates the background. * Sub-functions: callback_FirstFade(), callback_secondFade(). **/ function rotateBackground() { /* A rotation is in progress, set this variable to true! */ g_bRotateInProgress = true; /* First, fade out the background. */ $('#bgimg').fadeTo((g_bFirstRotateTime) ? 0 : g_iFadeOutTime * 1000, 0.0, callback_FirstFade); } /** * Name: callback_FirstFade(); * Description: Called when the first FadeTo is complete. * @return null **/ function callback_FirstFade() { /* Get a random number between 0 and max range. */ var i = Math.floor(Math.random() * g_sImages.length); /* Ensure the last number isn't the same as the new number. */ var iAttempts = 0; while (g_iLastRotateNumber == i) { i = Math.floor(Math.random() * g_sImages.length); iAttempts++; if (iAttempts > 5) break; } /* Copy the global rotation number. */ g_iLastRotateNumber = i; /* Set the background image. */ $('#bgimg').css('background', "url(" + g_sImages[i] + ") no-repeat center center fixed"); $('#bgimg').css('background-size', "cover"); /* Fade back in. */ $('#bgimg').fadeTo(g_iFadeInTime * 1000, 1.0, callback_SecondFade); } /** * Name: callback_SecondFade(); * Description: Called when the last FadeTo is complete. * @return null **/ function callback_SecondFade() { if (g_bFirstRotateTime) { g_bFirstRotateTime = false; } /* Rotation is no longer in progress. Set the variable back to false. */ g_bRotateInProgress = false; } /* Call the first rotate background. */ $(document).ready(function() { if (!g_bRotateInProgress) { rotateBackground(); } }); /* Set timer to rotate between background images. */ setInterval(rotateBackground, g_iTimer * 1000); * Will be fixing the formatting above shortly! I also need to implement a more in-depth system that supports caching within IPS 4, etc.
    1 point
  24. Hey man! Another programmer here. Work with C++17 templates? Doing that now and could use someone's brain to pick Trying to work with type traits. Come from more of an analytics python/vba background myself, but started off learning C When I was younger I made some simple games using C & Allegro, so pushing that forward now with my engine work. Very little on the full stack world, but great at app engineering
    1 point
  25. Hey all! I've made some changes to the website including adding a background image to the main website. The current solo background image is 1920x1080P and ~1 MB in size on the game Half Life 2. With that said, for phones and tablets, this background image should NOT show in order to save bandwidth/network usage on slow networks. I've also applied a dark overlay (70% solid). The one thing I'm trying to figure out to do next is applying some transparency to the solid content, but not impacting text opacity. This is easy to do generally, but IPS 4's HTML/CSS layout is a bit strange. With that said, we're going to be adding a collection of images (games, mods, easter eggs, etc.) for the background to alternate through and have it rotate via an animation. We'll be caching a list of 5 - 10 images for each user every x minutes or so most likely. We will likely add an easter egg system into these images in the future I feel this is really the last thing other than a few other adjustments the website needs. It's simple, and now it has a more modern look with the background image addition!
    1 point
  26. I have created a guide in GitHub for converting player models into colorable player models https://github.com/Kurante2801/gmod-colorable-playermodels/wiki A colorable player model is a model with specific textures that change color depeding on the player's color. For example having a T-shirt that changes color but having the hair color remain the same. This is seen better in sandbox, where the player can change their color at will.
    1 point
  27. Hey everyone! I just wanted to provide some neat updates to TMC! Discord Server Revamped Our Discord server has been revamped! I've re-done the modding discussion channels themselves along with general/community channels. That said, each category now has an icon. #information and #roles channels are linked together as well to help newcomers. Additionally, we've also added a prefix for each game/mod in the modding discussion categories so you can tag each individual channel. The next thing to work on is Discord Bots and verification/bot spam protection. Join Our Discord server/community here! Two New Games We've added support for two new games/game series. The first game we added support for is Garry's Mod. The second series is Counter-Strike which includes all Counter-Strike games at the moment (e.g. CS 1.6, CS:S, and CS:GO). We will be using a tagging/sub-forum/chat system for Counter-Strike in the future to ensure things don't get cluttered mixing all game's mods/contents New About Slideshow I've recently been working simplifying the idea of TMC and our plans/vision. This lead to me developing an about slideshow here with what TMC will be as a community along with how we'll be structuring everything. About Us! Future Game Called Speedrun: The Game By TMC In the about slideshow above, I introduced a new video game we're going to be making under TMC in the future. This game is called Speedrun: The Game and its tag will be @speedruntg. The video game will be open-source created and maintained by The Modding Community. We are geared towards the speed-running community and strive to provide modding tools for the community to utilize so that anybody can create flavors, game modes, and maps for speed-running! Time For Action! I just wanted to mention I know I've been saying a lot, but haven't been providing any products outside of the forums. I've been working on a lot of back-end/business work and starting to learn libraries such as Laravel since I'm going to be helping out deeply with the creations of our mod marketplace and server browser! I'm going to continue learning code/frameworks required and getting the company itself built/secured. With that said, I'm also going to be scheduling meetings with our teams in the close future! @CallyPally and @NokiaSaikou have been doing a great job reaching out and getting our front-end teams going regarding this :) Thank you for reading!
    1 point
  28. ALREADY SUB
    1 point
  29. 1 point
  30. Hello! I'm MonkeSle, co-founder, lead writer, and studio lead of Robone Studio. My team and I have been working on this studio and game for a while now, but full-time development has been a little troubling to get started. However, with us partnering with TMC, we are able to not only devote more time towards development, but we also can find talented individuals interested in working with us! Who We Are Robone Studio is currently a small studio based in Oregon made up of several individuals, all of whom are talented, creative, and wonderful in their own ways. The list is as follows: MonkeSle (Pronouns: He/Him) - Lead Writer, Studio Lead, & Co-Founder of Robone Studio Loves astronomy Addicted to music of all kinds Holds the world record for largest eyebags in the universe Vekten (Pronouns: He/Him) - Lead Developer & Co-Founder of Robone Studio Video game enthusiast Homestuck enjoyer Living his best life Kewub (Pronouns: He/Him) - Lead Composer In the process of building own sound studio Lives with Vekten Is THE band guy NokiaSaikou (Pronouns: They/Them) - Lead Artist Literally also the community manager of TMC Amazing artist and talented individual Has a Sanrio hyperfixation Logan [aka LOGGERS, BÛCHERONS, SeriousMiner, & pacifistman] (Pronouns He/Him) - Writer, Assistant Composer Talented theatre guy Apprentice VA Genuine comedian MintyBih (Pronouns: They/Them) - Artist Amazingly talented artist Used to be a moderator on the TommyInnit Discord server Prime Minister of rodents Mayo (Pronouns: They/Them) - Artist Does wonderful artwork Active Discord Nitro siphon Genuine master cook Real names are not used to preserve privacy of the individuals in question. To learn more about each member of Robone Studio, there will be a website up in due time showcasing each individual member with socials, pictures, and names (given they consent to show that information online). You may contact them through there once it's up. As for right now, you can contact me - MonkeSle - for questions about me or the team, joining us, or just simply to talk on using the following: Discord - MonkeSle#4712 Twitter - @MonkeSle Email - [email protected] Our Project Our project is still a secret at the moment, kept under the fine blankets of non-disclosure. Right now, though, what I can tell you is that it is going to support modding tools unlike most modern games. We will allow a client to be installed separate from the actual game to create anything from game systems to quests to map designs and assets. It's ambitious, and that is why we need YOUR help. In the future, we will hire a group of individuals to get familiar with the game and code so that they can create these modding tools. We want the community to be able to make their own stories, and what better way to do that than by making it from scratch? Simply put, the goal is to create a set of tools that streamlines the modding process. As time goes on, and more things begin to get worked on, we will announce our project. For now though, understand that right now things simply aren't ready to be shown, and work needs to get done. Any help is appreciated though, so don't hesitate to contact us and join us if you're interested.
    1 point
  31. Hello Danny! Nice to meet you fellow Brit here!
    1 point
×
×
  • Create New...

Important Information

By using this site you agree to the Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.