Code Monkey home page Code Monkey logo

esx_redpill's Introduction

ESX REDPILL Latest Release

Hacking minigame(/mission/job) featuring proper terminals with some sort of UNIX(-like) stuff running on them.

  • If you fork this, you won't get updates.
    • Consider Starring instead if you don't want to make a contribution.

Dependencies

Installation

  1. Download the latest release from the releases page
  2. Place folder in resources/[esx]/
  3. Add esx_redpill.sql to your database
  4. Add start esx_redpill to bottom of server.cfg
  5. Go to Fort Zancudo's elevator (right below the UFO) to trigger mission start

Usage

  1. Go to Fort Zancudo
  2. Find the elevator (below the UFO mark if esx_drugfarms is active)
  3. Follow the tutorial

If you don't know what to do when in front of a terminal just type in "help", press enter and try to go from there.

Otherwise you could learn how to use a shell, but note that most stuff you'll learn won't work in this mod. (Do it anyway! Terminals rule (literally)!)


Devnotes

As I stated above this is neither finished nor fully thought out. Things might change until 1.0 is released and as of right now, it's pretty much unplayable and using it only makes sense if you want to report bugs or help developing.

These devnotes are for ideas I have (ie. they are not final). For real plans, please see the open issues on GitHub.

Hacking

  1. Get SMS to esx_phone to start a mission
    • "We need the open ports on this machine"
    • "Change password on this computer"
    • "Download and execute this script: $url"
    • "Connect to this IP from the computer"
    • "Send me the username logged in to this computer"
    • "What is in file $filepath"
    • etc.
  2. Step in front of computer
    • help text to press interact shows
  3. Press interact
    • Hacking UI shows
      • JQuery.Terminal.min.js
      • (badly) Emulates a bash
  4. Do stuff requested in mission
  5. Send/Get confirmation SMS
    • Some missions might be automatically detected (ie. password change)
  6. Get paid
    • Gain higher rank after some missions
    • Harder missions on higher ranks(?)

esx_redpill's People

Contributors

daandeve avatar fly-man- avatar lfuelling avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

esx_redpill's Issues

Add support for gcphone

Is your feature request related to a problem? Please describe.
ESX_PHONE is needed for this resource to work, please add support for gcphone (https://github.com/N3MTV/gcphone)

Describe the solution you'd like
Require or esx_phone or gcphone

Describe alternatives you've considered

Additional context

Terminal doesn't work

When pressing enter in the terminal (ie. when sending a command) the terminal hangs.

Add more locations

Is your feature request related to a problem? Please describe.
There are only eight locations featuring a few computers each. To build more sophisticated missions spanning multiple hacks, more machines are necessary.
And it's not like there are none...

Describe the solution you'd like
At 1.0 I'd like to have every single computer in GTA:V in locations.lua.
(It's not realistic but the thing I'd like the most.)

Describe alternatives you've considered
A few computers less than "all" would also be okay I guess...

Additional context
The main pain of adding new locations is finding them. Once a computer is located, it's just standing in front of it, noting the coordinates of the player (vMenu has devtools for that) and adding an entry to client/locations.lua.

A complete location with one machine looks like this:

Franklin = { -- Franklins (new) Home
        KitchenPc = { x = -7.82, y = 520.31, z = 174.63,
                      machine = {
                          hostname = "franklins-fruitbook-expert",
                          user = "franklin",
                          version = "1.0.0-01",
                          ip = { address = "191.168.1.101", subnet = "24", network = "192.168.1.0", interface = "wlp0s4" },
                          commands = { "echo", "ip", "uname" }
                      }
        }
    },

The only values in this entry that are not completely made up are the coordinates. Everything else, including the location and/or computer name is made up because the game doesn't provide it.

Terminal UI looks bad

It's currently just a too large gray frame with a small terminal.

It would be nice for it to look like a proper monitor.

Use esx_jobs to persist hacking mode

Currently, when starting the hacking mode, a reconnect will force you to start everything again.

The plugin should use esx_jobs to add a hacker job and persist it.

The only problem is that the hacking job should not appear in esx_joblistings (the job center plugin).

Mission is too resource intensive

The first mission start is defined by random integers.
Apparently there's too much of it going on so each loop takes ~6.9ms/17 Frames to complete.

Add mission loop

After the first mission is done and the noob rank is advanced, the main job loop should begin.

Cannot exit tutorial building when tutorial is done

Describe the bug
I am currently working on a new terminal UI, but I can't get past the tutorial. I cannot exit tutorial building when the cat command is executed. I am using the latest master branch commit

To Reproduce
Steps to reproduce the behavior:

  1. Start the mission
  2. Complete the tutorial

Screenshots
image

Mission does not start

Describe the bug
No marker at mission start. When I go to the mission start nothing happens, no errors in the console.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Mission start (Fort Zancudo)

Expected behavior
Mission should start.

Screenshots

Setup (please complete the following information):

Additional context

Add first mission

The first mission should be something easy. (ie. not the Merryweather docks or carrier)

It should also be kind of connected to the second mission so it should be only be one part of the overall stuff to do.

Ideas:

  • Download (wget/curl/both(?)) a script to a computer
    • Download updates the ls command for that machine
  • Execute script
    • I have no idea how to implement that. Maybe another else before command not found that looks for scripts in the current machine?
    • Are scripts networked? (Right now the machine vars don't change so it would not make a difference. After the download of stuff is implemented (imo) machine state should be networked.

No exit marker in tutorial

Describe the bug
When starting the tutorial (by getting teleported), the exit marker disappears as soon as the tutorial is completed.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the elevator
  2. Get teleported
  3. Fulfill the tutorial objective
  4. No exit marker

Expected behavior
There should be an exit marker.

Setup (please complete the following information):

  • Plugin Version v0.0.7

Terminal does not show

When walking to the tutorial pc and pressing interact, the UI is shown but nothing (except escape) works.

I assume that I need an event listener like uiShown or similar to start the terminal becaus eit probably tries to start it when loading the game. At this point the #screen selector won't work and thus the terminal doesn't start.

This (the additional event) could also fix potential "only can hack one terminal per session" bugs that might appear later!

Add more missions

Is your feature request related to a problem? Please describe.
There are currently only four missions (not counting the tutorial). There should be more.

Describe the solution you'd like
More missions.

Describe alternatives you've considered
I've considered just leaving it at this stage, but this is way too boring.
Another alternative I have considered is PvP hacking but that's a thing for post v1.0...

Additional context
Commit b3b5eae92 shows all the necessary stuff to add a mission.

Tutorial exit is broken

When walking into the tutorial exit marker and pressing interact, the screen fades out for ~100ms and fades in again without anything happening.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.